{ pkgs, inputs, ... }: let inherit (pkgs) fish; in { imports = [ inputs.culr.nixosModules.culr ]; programs.culr = { enable = true; pattern = "rainbow-split"; }; programs.fish = { enable = true; shellAbbrs = { "gco" = "git checkout"; "gcb" = "git checkout -b"; "gp" = "git push"; "gpf" = "git push --force"; "gap" = "git commit -a --amend --no-edit && git push --force"; "gl" = "git pull"; "ga" = "git add"; "gcam" = "git commit -am"; "gcl" = "git clone"; "gcd" = "git clone --depth 1"; }; shellAliases = { "l" = "eza -lg --icons=always --colour=always $argv | culr"; "la" = "eza -lg --icons=always --colour=always $argv | culr"; "p" = "ps $argv | culr"; "mnt" = "mount | culr"; }; interactiveShellInit = '' function fish_title set -q argv[1]; or set argv fish echo (fish_prompt_pwd_dir_length=100 prompt_pwd): $argv; end ${./rice/header.sh} ''; }; programs.zoxide = { enable = true; enableFishIntegration = true; }; environment.systemPackages = [ fish ]; environment.shells = [ fish ]; users.defaultUserShell = fish; console = { font = "Lat2-Terminus16"; }; environment.sessionVariables = { EDITOR = "hx"; }; }