summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authorMel <mel@rnrd.eu>2025-02-10 23:38:47 +0100
committerMel <mel@rnrd.eu>2025-02-10 23:38:47 +0100
commita551cad606d7acf310a611ce14ca235a30382087 (patch)
tree7f152f10a9796b1e47be9be4cd8422c45455e8e5 /modules
parenteb61c9affaa3e358e2e46a6efd4bdc4c1e5957c3 (diff)
downloadminerals-a551cad606d7acf310a611ce14ca235a30382087.tar.zst
minerals-a551cad606d7acf310a611ce14ca235a30382087.zip
Add fish plugins and move out shell configuration into module
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'modules')
-rw-r--r--modules/home/common.nix15
-rw-r--r--modules/home/shell.nix34
2 files changed, 37 insertions, 12 deletions
diff --git a/modules/home/common.nix b/modules/home/common.nix
index 4454bfc..bf2d347 100644
--- a/modules/home/common.nix
+++ b/modules/home/common.nix
@@ -4,6 +4,7 @@
   imports = [
     ../foundation/home
 
+    ./shell.nix
     ./code.nix
   ];
 
@@ -18,21 +19,11 @@
       };
       ignores = [
         # ignore most vim swap-files
-        "*~" "[._]*.sw?"
+        "*~"
+        "[._]*.sw?"
       ];
       extraConfig.init.defaultBranch = "main";
     };
-
-    fish = {
-      enable = true;
-      interactiveShellInit = ''
-        set fish_greeting
-      '';
-    };
-
-    zoxide = { enable = true; enableFishIntegration = true; };
-    starship = { enable = true; enableFishIntegration = true; };
-    direnv = { enable = true; };
   };
 
   xdg.configFile = {
diff --git a/modules/home/shell.nix b/modules/home/shell.nix
new file mode 100644
index 0000000..5aa3a54
--- /dev/null
+++ b/modules/home/shell.nix
@@ -0,0 +1,34 @@
+{ pkgs, ... }:
+
+let
+  fishPlugin = p: {
+    inherit (p) src;
+    name = p.pname;
+  };
+in
+{
+  programs = {
+    fish = {
+      enable = true;
+      interactiveShellInit = ''
+        set fish_greeting
+      '';
+      plugins = with pkgs.fishPlugins; [
+        (fishPlugin sponge)
+        (fishPlugin colored-man-pages)
+      ];
+    };
+
+    zoxide = {
+      enable = true;
+      enableFishIntegration = true;
+    };
+    starship = {
+      enable = true;
+      enableFishIntegration = true;
+    };
+    direnv = {
+      enable = true;
+    };
+  };
+}