about summary refs log tree commit diff stats
path: root/modules/by-name/zs/zsh/module.nix
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-03-30 17:40:39 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-03-30 17:40:39 +0200
commit50e143ed09d7ba08b9206699223ec01ad6f6dd7e (patch)
treee326c3e1fd45b586407eb6cb00ff0903d4e47e4b /modules/by-name/zs/zsh/module.nix
parentrevert: "fix(modules/legacy/mail/soispha): Use new mail-server" (diff)
downloadnixos-config-50e143ed09d7ba08b9206699223ec01ad6f6dd7e.zip
fix(modules/{atuin,zsh}): Avoid atuin keymaps overriding mine
Diffstat (limited to '')
-rw-r--r--modules/by-name/zs/zsh/module.nix19
1 files changed, 19 insertions, 0 deletions
diff --git a/modules/by-name/zs/zsh/module.nix b/modules/by-name/zs/zsh/module.nix
index cb1bb086..b50e72ac 100644
--- a/modules/by-name/zs/zsh/module.nix
+++ b/modules/by-name/zs/zsh/module.nix
@@ -10,9 +10,25 @@
   zDotDir = ".config/zsh";
 
   sourceFile = path: "source ${path}\n";
+
+  extraFiles = builtins.concatStringsSep "\n" (
+    builtins.map sourceFile (
+      builtins.attrValues cfg.integrations
+    )
+  );
 in {
   options.soispha.programs.zsh = {
     enable = lib.mkEnableOption "zsh";
+
+    integrations = lib.mkOption {
+      type = lib.types.attrsOf lib.types.path;
+      example = ''
+        {
+          atuin = ./integrations/atuin.zsh;
+        }
+      '';
+      default = {};
+    };
   };
 
   config = lib.mkIf cfg.enable {
@@ -105,6 +121,9 @@ in {
           lib.modules.mkMerge
           [
             start
+
+            extraFiles
+
             end
           ];