Files
nixos-config/modules/home/fish.nix
2025-10-23 11:06:37 +09:00

69 lines
2.1 KiB
Nix

{ 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 -x NIX_DEV_SHELL_DEFAULT_SHELL (which fish)
alias v="nvim"
alias c="clear"
alias rb="sudo nixos-rebuild switch --flake ~/nixos-config#"
alias boot-rb="sudo nixos-rebuild --install-bootloader boot --flake ~/nixos-config#"
alias clc="cloc . --exclude-dir=target,node_modules,.venv --exclude-ext=yml,yaml,csv -v"
alias dry-rb="sudo nixos-rebuild dry-build --flake ~/nixos-config#"
alias devim="NVIM_APPNAME=nvim-dev nvim"
alias win="grub-reboot 'Windows Boot Manager (on /dev/sda2)' && reboot"
alias qwer="reboot"
alias zxcv="shutdown now"
alias lg="lazygit"
function mkcd
if test (count $argv) -eq 0
echo "Usage: mkcd <directory>"
return 1
end
mkdir -p $argv[1]
and cd $argv[1]
end
funcsave mkcd
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";
};
}
];
};
}