diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2025-05-14 10:50:27 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2025-05-14 10:50:27 +0200 |
| commit | 43c9825e49d25fbd2c19abcdeb8f73aee8be2a4c (patch) | |
| tree | c1cc8a034395c9bb8188651f6835922b38887f32 /user-profiles/zsh | |
| parent | 03d49aa8ec6f51c8f51bfb628e614ac537cca8e0 (diff) | |
| download | nixos-43c9825e49d25fbd2c19abcdeb8f73aee8be2a4c.tar nixos-43c9825e49d25fbd2c19abcdeb8f73aee8be2a4c.tar.gz nixos-43c9825e49d25fbd2c19abcdeb8f73aee8be2a4c.tar.bz2 nixos-43c9825e49d25fbd2c19abcdeb8f73aee8be2a4c.tar.xz nixos-43c9825e49d25fbd2c19abcdeb8f73aee8be2a4c.zip | |
...
Diffstat (limited to 'user-profiles/zsh')
| -rw-r--r-- | user-profiles/zsh/default.nix | 95 | ||||
| -rw-r--r-- | user-profiles/zsh/zshrc | 6 |
2 files changed, 63 insertions, 38 deletions
diff --git a/user-profiles/zsh/default.nix b/user-profiles/zsh/default.nix index 428e2459..973ff775 100644 --- a/user-profiles/zsh/default.nix +++ b/user-profiles/zsh/default.nix | |||
| @@ -1,38 +1,69 @@ | |||
| 1 | { userName, pkgs, customUtils, lib, config, ... }: | 1 | { userName, pkgs, customUtils, lib, config, ... }: |
| 2 | let | 2 | { |
| 3 | dotDir = ".config/zsh"; | 3 | config = { |
| 4 | p10kZsh = "${dotDir}/.p10k.zsh"; | 4 | home-manager.users.${userName} = let sysConfig = config; in { config, ... }: { |
| 5 | cfg = config.home-manager.users.${userName}; | 5 | config = { |
| 6 | in { | 6 | programs.zsh = { |
| 7 | home-manager.users.${userName} = { | 7 | dotDir = ".config/zsh"; |
| 8 | programs.zsh = { | 8 | enable = true; |
| 9 | inherit dotDir; | 9 | autocd = true; |
| 10 | enable = true; | 10 | enableCompletion = true; |
| 11 | autocd = true; | 11 | enableVteIntegration = true; |
| 12 | enableCompletion = true; | 12 | history = { |
| 13 | append = true; | ||
| 14 | expireDuplicatesFirst = true; | ||
| 15 | extended = true; | ||
| 16 | findNoDups = true; | ||
| 17 | }; | ||
| 18 | syntaxHighlighting.enable = true; | ||
| 19 | zsh-abbr = { | ||
| 20 | enable = true; | ||
| 21 | abbreviations = { | ||
| 22 | re = "systemctl restart"; | ||
| 23 | ure = "systemctl --user restart"; | ||
| 24 | }; | ||
| 25 | globalAbbreviations = { | ||
| 26 | "L" = "| less"; | ||
| 27 | "S" = "&> /dev/null"; | ||
| 28 | "G" = "| grep"; | ||
| 29 | "B" = "&> /dev/null &"; | ||
| 30 | "BB" = "&> /dev/null &!"; | ||
| 31 | }; | ||
| 32 | }; | ||
| 13 | 33 | ||
| 14 | plugins = [ | 34 | plugins = [ |
| 15 | { name = "powerlevel10k"; | 35 | { name = "powerlevel10k"; |
| 16 | file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; | 36 | file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme"; |
| 17 | src = pkgs.zsh-powerlevel10k; | 37 | src = pkgs.zsh-powerlevel10k; |
| 18 | } | 38 | } |
| 19 | ]; | 39 | ]; |
| 20 | initExtraFirst = '' | 40 | initContent = lib.mkMerge [ |
| 21 | if [[ $TERM == "dumb" ]]; then | 41 | (lib.mkBefore '' |
| 22 | unsetopt zle | 42 | if [[ $TERM == "dumb" ]]; then |
| 23 | PS1='$ ' | 43 | unsetopt zle |
| 24 | return | 44 | PS1='$ ' |
| 25 | fi | 45 | return |
| 26 | ''; | 46 | fi |
| 27 | initExtraBeforeCompInit = '' | 47 | '') |
| 28 | source "${cfg.home.homeDirectory}/${p10kZsh}" | 48 | (lib.mkOrder 550 '' |
| 29 | ''; | 49 | source "$HOME/${config.xdg.configFile."zsh/.p10k.zsh".target}" |
| 30 | initExtra = lib.mkAfter '' | 50 | '') |
| 31 | source ${./zshrc} | 51 | (lib.mkAfter '' |
| 32 | source "${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" | 52 | source ${./zshrc} |
| 33 | ''; | 53 | '') |
| 54 | ]; | ||
| 55 | }; | ||
| 56 | |||
| 57 | xdg.configFile."zsh/.p10k.zsh".source = ./p10k.zsh; | ||
| 58 | }; | ||
| 34 | }; | 59 | }; |
| 35 | 60 | ||
| 36 | home.file.${p10kZsh}.source = ./p10k.zsh; | 61 | programs.zsh.enable = true; |
| 62 | environment.pathsToLink = [ "/share/zsh" ]; | ||
| 63 | environment.shellAliases = lib.mkOverride 90 {}; | ||
| 64 | |||
| 65 | nixpkgs.externalConfig.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ | ||
| 66 | "zsh-abbr" | ||
| 67 | ]; | ||
| 37 | }; | 68 | }; |
| 38 | } | 69 | } |
diff --git a/user-profiles/zsh/zshrc b/user-profiles/zsh/zshrc index ed614182..af3aca64 100644 --- a/user-profiles/zsh/zshrc +++ b/user-profiles/zsh/zshrc | |||
| @@ -33,9 +33,3 @@ zle -N self-insert url-quote-magic | |||
| 33 | zle -N bracketed-paste bracketed-paste-magic | 33 | zle -N bracketed-paste bracketed-paste-magic |
| 34 | 34 | ||
| 35 | setopt extended_glob | 35 | setopt extended_glob |
| 36 | |||
| 37 | alias -g L='| less' | ||
| 38 | alias -g S='&> /dev/null' | ||
| 39 | alias -g G='| grep' | ||
| 40 | alias -g B='&> /dev/null &' | ||
| 41 | alias -g BB='&> /dev/null &!' | ||
