1

make fish abbrs depend on if package is availabl

This commit is contained in:
2022-08-12 18:06:09 +02:00
parent 5a269e0215
commit 109671de68

View File

@ -16,28 +16,31 @@ in {
enable = true; enable = true;
# functions = {}; # functions = {};
# plugins = []; # plugins = [];
shellAbbrs = { shellAbbrs = let
hasBat = config.programs.bat.enable;
hasExa = config.programs.exa.enable;
hasRanger = config.modules.ranger.enable;
hasProtonVPN = contains config.home.packages pkgs.protonvpn-cli;
batify = string: string + (optionalString hasBat " | bat");
in mkMerge [
{
c = "clear"; c = "clear";
q = "exit"; q = "exit";
h = "history | bat"; h = batify "history";
r = "ranger --choosedir=$HOME/.rangerdir; set LASTDIR (cat $HOME/.rangerdir); cd $LASTDIR";
cd = "z"; cd = "z";
cp = "cp -i"; cp = "cp -i";
ls = "exa --color always --group-directories-first -F --git --icons"; # color-ls
lsl = "exa --color always --group-directories-first -F -l --git --icons";
lsa = "exa --color always --group-directories-first -F -l -a --git --icons";
tre = "exa --color always --group-directories-first -F -T -L 2 ---icons";
mkd = "mkdir -p"; mkd = "mkdir -p";
blk = "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL | bat"; blk = batify "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL";
fsm = "df -h | bat"; fsm = batify "df -h";
grp = "grep --color=auto -E"; grp = "grep --color=auto -E";
fzp = "fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'"; fzp = "fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'";
fre = "free -m"; fre = batify "free -m";
wat = "watch -d -c -n -0.5"; wat = "watch -d -c -n -0.5";
dus = "sudo dust -r"; dus = batify "sudo dust -r";
dsi = "sudo du -sch . | bat"; dsi = batify "sudo du -sch .";
prc = "procs -t"; prc = "procs -t";
lg = "lazygit"; lg = "lazygit";
@ -47,14 +50,6 @@ in {
glg = "git log --graph --decorate --oneline"; glg = "git log --graph --decorate --oneline";
gcl = "git clone"; gcl = "git clone";
vpnat = "protonvpn-cli c --cc at";
vpnch = "protonvpn-cli c --cc ch";
vpnlu = "protonvpn-cli c --cc lu";
vpnus = "protonvpn-cli c --cc us";
vpnhk = "protonvpn-cli c --cc hk";
vpnkr = "protonvpn-cli c --cc kr";
vpnoff = "protonvpn-cli d";
# This doesn't work at all, many things crash, no internet etc. # This doesn't work at all, many things crash, no internet etc.
# gnome = "dbus-run-session gnome-session"; # Requires XDG_SESSION_TYPE to be set for wayland # gnome = "dbus-run-session gnome-session"; # Requires XDG_SESSION_TYPE to be set for wayland
@ -62,20 +57,33 @@ in {
errors = "journalctl -p 3 -xb"; errors = "journalctl -p 3 -xb";
rsync = "rsync -chavzP --info=progress2"; rsync = "rsync -chavzP --info=progress2";
performance = "sudo cpupower frequency-set -g performance && nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1";
powersave = "sudo cpupower frequency-set -g powersave && nvidia-settings -a [gpu:0]/GPUPowerMizerMode=0";
xxhamster = "TERM=ansi ssh christoph@217.160.142.51"; xxhamster = "TERM=ansi ssh christoph@217.160.142.51";
mp4 = "yt-dlp -f 'bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] / bv*+ba/b' --recode-video mp4"; # the -f options are yt-dlp defaults mp4 = "yt-dlp -f 'bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] / bv*+ba/b' --recode-video mp4"; # the -f options are yt-dlp defaults
mp3 = "yt-dlp -f 'ba' --extract-audio --audio-format mp3"; mp3 = "yt-dlp -f 'ba' --extract-audio --audio-format mp3";
}; }
shellAliases = { (optionalAttrs hasExa {
# ".." = "cd .."; ls = "exa --color always --group-directories-first -F --git --icons"; # color-ls
"please" = "sudo !!"; lsl = "exa --color always --group-directories-first -F -l --git --icons";
"yeet" = "rm -rf"; lsa = "exa --color always --group-directories-first -F -l -a --git --icons";
}; tre = "exa --color always --group-directories-first -F -T -L 2 ---icons";
})
(optionalAttrs hasRanger {
r = "ranger --choosedir=$HOME/.rangerdir; set LASTDIR (cat $HOME/.rangerdir); cd $LASTDIR";
})
(optionalAttrs hasProtonVPN {
vpnat = "protonvpn-cli c --cc at";
vpnch = "protonvpn-cli c --cc ch";
vpnlu = "protonvpn-cli c --cc lu";
vpnus = "protonvpn-cli c --cc us";
vpnhk = "protonvpn-cli c --cc hk";
vpnkr = "protonvpn-cli c --cc kr";
vpnoff = "protonvpn-cli d";
})
];
shellInit = '' shellInit = ''
set -e fish_greeting set -e fish_greeting