summary refs log tree commit diff stats
path: root/user/settings
diff options
context:
space:
mode:
Diffstat (limited to 'user/settings')
-rw-r--r--user/settings/zsh.nix120
1 files changed, 110 insertions, 10 deletions
diff --git a/user/settings/zsh.nix b/user/settings/zsh.nix
index df0b28ad..03e2f96c 100644
--- a/user/settings/zsh.nix
+++ b/user/settings/zsh.nix
@@ -1,4 +1,4 @@
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
 
 let
   inherit (pkgs) stdenv;
@@ -12,6 +12,7 @@ in
   home.packages = with pkgs; [
     fzf
     ghq
+    zsh-completions
   ] ++ (if stdenv.isDarwin
   then []
   else [
@@ -22,15 +23,6 @@ in
     source = ../zsh/.config/zsh;
   };
 
-  home.file.".zplugin/bin" = {
-    source = pkgs.fetchFromGitHub {
-      owner = "zdharma";
-      repo = "zplugin";
-      rev = "028b1e1d6d3eae204b499c7f815f4eeeb5051517";
-      sha256 = "1ynh323905iia3gwi9qghbywp94x306nna1yqk37frj5g7kg90fa";
-    };
-  };
-
   programs.zsh = {
     enable = true;
 
@@ -52,6 +44,110 @@ in
       ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=8";
     };
 
+    plugins = [
+      {
+        name = "kubectl-aliases";
+        src = pkgs.fetchFromGitHub {
+          owner = "alanpearce";
+          repo = "kubectl-aliases";
+          rev = "f43cd444c77fd547d038453272f3c294ce722e9f";
+          # date = 2019-06-25T15:47:42+02:00;
+          sha256 = "0rw3f81fygar8rb6w1s5sgr0x3qgjmvdgv858j5csqqk3d724qq4";
+        };
+      }
+      {
+        name = "cd-gitroot";
+        src = pkgs.fetchFromGitHub {
+          owner = "mollifier";
+          repo = "cd-gitroot";
+          rev = "a1d59511eba2b99935635b2efef00f8d2363aecd";
+          # date = 2016-03-23T18:29:15+09:00;
+          sha256 = "1l0fb24vcgd7vgya1r47h2bfczkxrb3mxn791l305f5d350wvqfz";
+        };
+      }
+      {
+        name = "careful_rm";
+        src = pkgs.fetchFromGitHub {
+          owner = "MikeDacre";
+          repo = "careful_rm";
+          rev = "f62506b2b6a9ec312dfd7fc8148eb3920a1e790f";
+          # date = 2019-04-14T10:35:56-07:00;
+          sha256 = "1pjlrdwv2509cgcdsfxff8cycfhj6z0y4jbjr98209bwi3ds7665";
+        };
+      }
+      {
+        name = "calc";
+        src = pkgs.fetchFromGitHub {
+          owner = "arzzen";
+          repo = "calc.plugin.zsh";
+          rev = "3e0b67fa0fecb8f06d5cf3f80075b53c832c1813";
+          # date = 2019-09-17T09:15:39+02:00;
+          sha256 = "1i0c5szvfc1f3rnf8dp57v7c15a4lf6lkn1l0qdbbq06wkcg2zpq";
+        };
+      }
+      {
+        name = "better-npm-completion";
+        src = pkgs.fetchFromGitHub {
+          owner = "lukechilds";
+          repo = "zsh-better-npm-completion";
+          rev = "b61f6bb4e640728c42ae84ca55a575ee88c60fe8";
+          # date = 2017-07-02T09:59:33+01:00;
+          sha256 = "00c1gdsam0z6v09fvz7hyl0zgmgnwbf59i1yrbkrz08frjlr16ax";
+        };
+      }
+      {
+        name = "zsh-nix-shell";
+        src = pkgs.fetchFromGitHub {
+          owner = "chisui";
+          repo = "zsh-nix-shell";
+          rev = "b2609ca787803f523a18bb9f53277d0121e30389";
+          # date = 2019-04-22T22:00:26+02:00;
+          sha256 = "01w59zzdj12p4ag9yla9ycxx58pg3rah2hnnf3sw4yk95w3hlzi6";
+        };
+      }
+      {
+        name = "you-should-use";
+        src = pkgs.fetchFromGitHub {
+          owner = "MichaelAquilina";
+          repo = "zsh-you-should-use";
+          rev = "06de2be797cc1c987d196c93d91ce165fa9bf5f1";
+          # date = 2019-08-24T17:12:44+01:00;
+          sha256 = "1qrm7f4my1z7d3h3zgizw1wajk20mkriq0zhxqh36p8q24py319g";
+        };
+      }
+      {
+        name = "agkozak-zsh-prompt";
+        src = pkgs.fetchFromGitHub {
+          owner = "agkozak";
+          repo = "agkozak-zsh-prompt";
+          rev = "bb4ae9eb1f30443933320d30a59a86eed7638da5";
+          # date = 2019-07-23T18:45:52-07:00;
+          sha256 = "1dshpgm2sfilzinmjink6mh56pjfv1379qkqmsksrqd7fgx1n4hb";
+        };
+      }
+      {
+        name = "anyframe";
+        src = pkgs.fetchFromGitHub {
+          owner = "mollifier";
+          repo = "anyframe";
+          rev = "598675303044df8e9d04722f3adff4f63a238922";
+          # date = 2017-07-19T21:59:49+09:00;
+          sha256 = "08bjm1dd2mpv8rk8x6yvm6gj490rgimmiq7ln4jr5hik2k3mm82r";
+        };
+      }
+    ] ++ lib.optionals stdenv.isDarwin [
+      {
+        name = "tumult";
+        src = pkgs.fetchFromGitHub {
+          owner = "unixorn";
+          repo = "tumult.plugin.zsh";
+          rev = "e74db60be21dfebaa89b84fb9a45939814573c8c";
+          # date = 2019-03-07T08:53:24-07:00;
+          sha256 = "1328g3h51478ai25niv9qgf8bjgg3cw98zdqfznrbgw0k3qj66zk";
+        };
+      }
+    ];
+
     shellAliases = {
       l = "ls ${lsOptions} -Bp";
       l1="ls -1";
@@ -62,6 +158,8 @@ in
       lla="lal";
       llr="ll -t";
 
+      cdg = "cd-gitroot";
+
       https = "http --default-scheme https";
       kns = "kubens";
       kx = "kubectx";
@@ -196,6 +294,8 @@ in
         fc -l -m "$1*" -10000 | cut -d' ' -f4- | sort | uniq -c | sort -g | tail -n100 | less
       }
 
+      source ${pkgs.fzf}/share/fzf/key-bindings.zsh
+
     '' + builtins.readFile ../zsh/.config/zsh/.zshrc;
   };
 }