{ config, pkgs, lib, system, user, allowed, secrets, ... }: lib.mkIf (user != "tv") { home.packages = with pkgs; [ fish any-nix-shell (writeShellScriptBin "nxfetch" '' logo=$(echo -e " ⠀⠀⠀⠀⠰⣿⣧⠀⠀⠹⣿⣧⠀⣴⣿⠆⠀⠀⠀⠀ OS ⠀⠀⠀⣀⣀⣹⣿⣧⣀⣀⠘⣿⣿⣿⠏⠀⠀⠀⠀⠀ DE/WM ⠀⠀⠼⠿⠿⠿⠿⠿⠿⠿⠦⠘⣿⣿⡀⠀⣼⣧⠀⠀ TERM ⠀⠀⠀⠀⢠⣶⡶⠀⠀⠀⠀⠀⠈⠿⢁⣼⣿⠋⠀⠀ SHELL ⢾⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⡷ ISHELL ⠀⠀⣠⣿⡟⢁⣶⡀⠀⠀⠀⠀⠀⠾⠿⠃⠀⠀⠀⠀ KERNEL ⠀⠀⢻⡟⠀⠈⢿⣿⡄⠲⣶⣶⣶⣶⣶⣶⣶⡖⠀⠀ EDITOR ⠀⠀⠀⠀⠀⣰⣿⣿⣿⡄⠉⠉⢻⣿⣏⠉⠉⠀⠀⠀ TFM ⠀⠀⠀⠀⠰⣿⠟⠀⢻⣿⣆⠀⠀⠻⣿⠆⠀⠀⠀⠀ PROMPT " | lolcat --force) msg=" $(echo -e "$logo" | sed -n 3p): $(cat /etc/*-release | grep PRETTY_NAME | cut -c 14- | rev | cut -c 2- | rev) $(echo -e "$logo" | sed -n 4p): ''${XDG_CURRENT_DESKTOP^} $(echo -e "$logo" | sed -n 5p): ''${TERM^} $(echo -e "$logo" | sed -n 6p): $(bash --version | head --lines 1 | cut -f -4 -d' ') $(echo -e "$logo" | sed -n 7p): fish $(fish --version | rev | cut -f 1 -d' ' | rev) $(echo -e "$logo" | sed -n 8p): ''$(uname -r) $(echo -e "$logo" | sed -n 9p): $($EDITOR --version | head -n 1) $(echo -e "$logo" | sed -n 10p): $(yazi --version) $(echo -e "$logo" | sed -n 11p): $(starship --version | head -n 1) " echo -e "$msg" '') ]; # bash>>fish is set in users system module programs.fish = { enable = true; shellAliases = { ls = "eza --icons --git --smart-group --group-directories-first"; ll = "eza --icons --git --smart-group --group-directories-first --long"; la = "eza --icons --git --smart-group --group-directories-first --all"; lla = "eza --icons --git --smart-group --group-directories-first --all --long"; lt = "eza --icons --git --smart-group --group-directories-first --long --tree"; ltd = "eza --icons --git --smart-group --group-directories-first --long --tree -D"; lt2 = "eza --icons --git --smart-group --group-directories-first --long --tree -L 2"; sr = "sudo reboot"; nf = "neofetch"; nxf = "nxfetch"; nn = "nano"; m = "micro"; p = "python"; ipy = "ipython"; c = "codium"; g = "git"; lzg = "lazygit"; # gst = "git status"; gps = "git push"; gpl = "git pull"; gad = "git add"; gcm = "git commit -m "; gmr = "git merge"; gin = "git init"; gdf = "git diff"; grs = "git reset"; grh = "git reset --hard"; gch = "git checkout"; gsh = "git stash"; gsp = "git stash pop"; glg = "git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)' --all"; gll = "git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)'"; gmt = "git_monitor"; gsw = "git switch"; gft = "git fetch"; ns = "nix-shell"; lzd = "lazydocker"; d = "docker"; dcmp = "docker compose"; code = "codium"; # ya = "yazi"; # function # nxfiglet = "figlet"; }; interactiveShellInit = '' set -g fish_greeting if not set -q IN_NIX_SHELL nxfetch end # ${pkgs.starship}/bin/starship init fish | source # ${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source ''; functions = { # gpg = ''; # set bold \e[1m # set green \e[32m # set blue \e[34m # set yellow \e[33m # set cyan \e[36m # set purple \e[35m # set reset \e[0m # if string match -r -- "--list-(secret|public)?-?keys?" "$argv" # set output (command gpg $argv) # if test -z "$output" # return $status # end # echo "$output" | sed -e 's/(Key fingerprint =)/'$yellow'\1'$reset'/g' \ # -e 's/(.*\.kbx)/'$yellow'Keyring: \1'$reset'/g' \ # -e 's/^uid[[:blank:]]+/uid /g' \ # -e 's/(^uid.*\] )(.*)/\1'$green'\2'$reset'/g' \ # -e 's/(\[.*\])/'$cyan'\1'$reset'/g' \ # -e 's/(^pub|^sec)/'$bold$green'\1'$reset'/g' \ # -e 's/(^sub|^ssb|^uid)/'$bold'\1'$reset'/g' \ # -e 's/(\[expires: )([0-9]{4}-[0-9]{2}-[0-9]{2})(\].*)/'$cyan'\1'$blue'\2'$cyan'\3'$reset'/g' \ # -e 's/([0-9]{4}-[0-9]{2}-[0-9]{2})/'$blue'\1'$reset'/g' \ # -e 's/^$/------------------------------------------/g' \ # -e 's| ([[:alnum:]]*)/| '$purple'\1'$reset'/|g' \ # -e 's|'$HOME'|~|g' # # Print info footer # set info_footer "------------------------------------------\n" # set info_footer $info_footer $cyan"E"$reset"=encryption, " # set info_footer $info_footer $cyan"S"$reset"=signing, " # set info_footer $info_footer $cyan"C"$reset"=certification, " # set info_footer $info_footer $cyan"A"$reset"=authentication\n" # set info_footer $info_footer $green$bold"pub"$reset"=public primary key, " # set info_footer $info_footer $bold"sub"$reset"=public subkey,\n" # set info_footer $info_footer $green$bold"sec"$reset"=secret primary key, " # set info_footer $info_footer $bold"ssb"$reset"=secret subkey,\n" # set info_footer $info_footer $bold"uid"$reset"=user ID, "$purple"algorithm"$reset"/"$bold"key-ID"$reset # echo -e $info_footer # else # command gpg $argv # end # ''; }; }; }