{ pkgs, ... }: { home.packages = [ pkgs.nix-your-shell pkgs.lolcat pkgs.kittysay pkgs.eza ]; programs.fish = { enable = true; shellInit = '' set -g fish_key_bindings fish_vi_key_bindings function fish_prompt string join ' ' -- (set_color magenta) $(prompt_pwd) :3 (set_color normal) end function fish_greeting echo hii autumn :3\nthe time is $(date +%T) | kittysay | lolcat end function ls --description "List directory contents" eza --icons=always $argv end function nix-shell --description "Start an interactive shell based on a Nix expression" nix-your-shell fish nix-shell -- $argv end function nix --description "Reproducible and declarative configuration management" nix-your-shell fish nix -- $argv end ''; shellInitLast = '' set fish_color_normal green set fish_color_command magenta --bold set fish_color_quote yellow set fish_color_redirection white set fish_color_end magenta set fish_color_error red --bold set fish_color_param blue set fish_color_valid_path blue set fish_color_option blue set fish_color_comment brblack --italics set fish_color_operator yellow set fish_color_escape blue --italics set fish_color_autosuggestion brblack set fish_color_cancel brblack ''; }; }