My Nix Configuration
1{ 2 pkgs, 3 lib, 4 config, 5 ... 6}: 7let 8 inherit (lib) mkEnableOption mkIf; 9 cfg = config.py.programs.fish; 10in 11{ 12 options.py.programs.fish.enable = mkEnableOption "fish shell"; 13 config.catppuccin.fish.enable = cfg.enable; 14 config.programs.fish = mkIf cfg.enable { 15 enable = true; 16 shellAliases = { 17 "lg" = "lazygit"; 18 "cat" = "bat"; 19 "gls" = "eza -lah@ --icons --git --git-ignore --no-user"; 20 "ls" = "eza --icons -a"; 21 "ll" = "eza --icons -lah@"; 22 "lt" = "eza --icons --tree -a"; 23 "dig" = "doggo"; 24 "nt" = "nixpkgs-track"; 25 }; 26 shellInit = '' 27 set -x GPG_TTY (tty) 28 set -x SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket) 29 gpgconf --launch gpg-agent 30 ''; 31 32 interactiveShellInit = '' 33 fzf_configure_bindings --directory=\cf --git_log=\cl --git_status=\cg \ 34 --history=\cr --variables=\cv --processes=\cp 35 ''; 36 37 plugins = [ 38 { 39 inherit (pkgs.fishPlugins.fzf-fish) src; 40 name = "fzf-fish"; 41 } 42 ]; 43 }; 44}