make fish abbrs depend on if package is availabl
This commit is contained in:
@ -16,66 +16,74 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
# functions = {};
|
# functions = {};
|
||||||
# plugins = [];
|
# plugins = [];
|
||||||
shellAbbrs = {
|
shellAbbrs = let
|
||||||
c = "clear";
|
hasBat = config.programs.bat.enable;
|
||||||
q = "exit";
|
hasExa = config.programs.exa.enable;
|
||||||
h = "history | bat";
|
hasRanger = config.modules.ranger.enable;
|
||||||
r = "ranger --choosedir=$HOME/.rangerdir; set LASTDIR (cat $HOME/.rangerdir); cd $LASTDIR";
|
hasProtonVPN = contains config.home.packages pkgs.protonvpn-cli;
|
||||||
|
|
||||||
cd = "z";
|
batify = string: string + (optionalString hasBat " | bat");
|
||||||
cp = "cp -i";
|
in mkMerge [
|
||||||
ls = "exa --color always --group-directories-first -F --git --icons"; # color-ls
|
{
|
||||||
lsl = "exa --color always --group-directories-first -F -l --git --icons";
|
c = "clear";
|
||||||
lsa = "exa --color always --group-directories-first -F -l -a --git --icons";
|
q = "exit";
|
||||||
tre = "exa --color always --group-directories-first -F -T -L 2 ---icons";
|
h = batify "history";
|
||||||
mkd = "mkdir -p";
|
|
||||||
|
|
||||||
blk = "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL | bat";
|
cd = "z";
|
||||||
fsm = "df -h | bat";
|
cp = "cp -i";
|
||||||
grp = "grep --color=auto -E";
|
mkd = "mkdir -p";
|
||||||
fzp = "fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'";
|
|
||||||
fre = "free -m";
|
|
||||||
wat = "watch -d -c -n -0.5";
|
|
||||||
dus = "sudo dust -r";
|
|
||||||
dsi = "sudo du -sch . | bat";
|
|
||||||
prc = "procs -t";
|
|
||||||
|
|
||||||
lg = "lazygit";
|
blk = batify "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL";
|
||||||
gs = "git status";
|
fsm = batify "df -h";
|
||||||
gcm = "git commit -m";
|
grp = "grep --color=auto -E";
|
||||||
ga = "git add";
|
fzp = "fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'";
|
||||||
glg = "git log --graph --decorate --oneline";
|
fre = batify "free -m";
|
||||||
gcl = "git clone";
|
wat = "watch -d -c -n -0.5";
|
||||||
|
dus = batify "sudo dust -r";
|
||||||
|
dsi = batify "sudo du -sch .";
|
||||||
|
prc = "procs -t";
|
||||||
|
|
||||||
vpnat = "protonvpn-cli c --cc at";
|
lg = "lazygit";
|
||||||
vpnch = "protonvpn-cli c --cc ch";
|
gs = "git status";
|
||||||
vpnlu = "protonvpn-cli c --cc lu";
|
gcm = "git commit -m";
|
||||||
vpnus = "protonvpn-cli c --cc us";
|
ga = "git add";
|
||||||
vpnhk = "protonvpn-cli c --cc hk";
|
glg = "git log --graph --decorate --oneline";
|
||||||
vpnkr = "protonvpn-cli c --cc kr";
|
gcl = "git clone";
|
||||||
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
|
||||||
|
|
||||||
failed = "systemctl --failed";
|
failed = "systemctl --failed";
|
||||||
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";
|
xxhamster = "TERM=ansi ssh christoph@217.160.142.51";
|
||||||
powersave = "sudo cpupower frequency-set -g powersave && nvidia-settings -a [gpu:0]/GPUPowerMizerMode=0";
|
|
||||||
|
|
||||||
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
|
||||||
|
mp3 = "yt-dlp -f 'ba' --extract-audio --audio-format mp3";
|
||||||
|
}
|
||||||
|
|
||||||
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
|
(optionalAttrs hasExa {
|
||||||
mp3 = "yt-dlp -f 'ba' --extract-audio --audio-format mp3";
|
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";
|
||||||
|
})
|
||||||
|
|
||||||
shellAliases = {
|
(optionalAttrs hasRanger {
|
||||||
# ".." = "cd ..";
|
r = "ranger --choosedir=$HOME/.rangerdir; set LASTDIR (cat $HOME/.rangerdir); cd $LASTDIR";
|
||||||
"please" = "sudo !!";
|
})
|
||||||
"yeet" = "rm -rf";
|
|
||||||
};
|
(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
|
||||||
|
Reference in New Issue
Block a user