{pkgs, ...}: { programs.fish = { enable = true; interactiveShellInit = '' set fish_greeting ''; plugins = [ { name = "done"; src = pkgs.fishPlugins.done.src; } { name = "fzf-fish"; src = pkgs.fishPlugins.fzf-fish.src; } ]; shellAliases = { # My defaults "ls" = "eza"; "dig" = "dig +noall +answer"; "ffmpeg" = "ffmpeg -hide_banner -loglevel error -stats -threads 10"; "rsync" = "rsync --info=progress2 --progress -rpgo --partial --inplace"; "df" = "df -x tmpfs -x devtmpfs -x efivarfs -h"; # Nix "nrs" = "sudo nixos-rebuild switch --flake path:/home/gkaklas/nix/nixos/"; "upn" = "sudo nix flake update path:/home/gkaklas/nix/nixos/"; "cln" = "sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/system"; "hms" = "home-manager switch --flake path:/home/gkaklas/nix/home-manager/"; "uph" = "nix flake update path:/home/gkaklas/nix/home-manager/ "; "clh" = "nix profile wipe-history --older-than 7d"; "update" = "upn && nrs && cln && uph && hms && clh && nix store gc"; # git "gc" = "git commit --verbose --gpg-sign --signoff"; "gc!" = "git commit --verbose --gpg-sign --signoff --amend"; "gst" = "git status"; "gdca" = "git diff --cached"; "gapa" = "git add --patched"; "glola" = "git log --graph --pretty=\"%G?-%C(magenta)%h %C(yellow)(%al)%C(cyan): %s\" --color=always"; }; shellAbbrs = { "-h" = { position = "anywhere"; expansion = "--help"; }; "L" = { position = "anywhere"; setCursor = true; expansion = "% | less"; }; }; }; }