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 &!' | ||