{ pkgs, ... }: { home.file.".config/fish/completions/flux.fish".source = ../../shell/completions/flux.fish; home.file.".config/fish/kube.fish".source = ../../shell/kube.fish; programs.fish = { enable = true; shellInit = '' set -gx EDITOR nvim set -gx PNPM_HOME $HOME/.local/share/pnpm fish_add_path $PNPM_HOME fish_add_path $HOME/.local/bin set -gx OPENSSL_DIR ${pkgs.openssl.dev}; set -gx KUBECONFIG $HOME/.kube/config; set -gx OPENSSL_LIB_DIR ${pkgs.openssl.out}/lib; set -gx OPENSSL_INCLUDE_DIR ${pkgs.openssl.dev}/include; set -gx PKG_CONFIG_PATH ${pkgs.openssl.dev}/lib/pkgconfig; set -gx KUBECONFIG $HOME/.kube/config; set -x NIX_DEV_SHELL_DEFAULT_SHELL (which fish) alias lg="lazygit" alias v="nvim" alias c="clear" alias rb="sudo nixos-rebuild switch --flake ~/nixos-config#" alias dry-rb="sudo nixos-rebuild dry-build --flake ~/nixos-config#" if test -f $HOME/.config/fish/kube.fish source $HOME/.config/fish/kube.fish end ''; plugins = [ # Enable a plugin (here grc for colorized command output) from nixpkgs { name = "grc"; src = pkgs.fishPlugins.grc.src; } # Manually packaging and enable a plugin { name = "z"; src = pkgs.fetchFromGitHub { owner = "jethrokuan"; repo = "z"; rev = "e0e1b9dfdba362f8ab1ae8c1afc7ccf62b89f7eb"; sha256 = "0dbnir6jbwjpjalz14snzd3cgdysgcs3raznsijd6savad3qhijc"; }; } ]; }; }