91 lines
2.5 KiB
Nix

{
config,
lib,
...
}:
with lib; let
aliases = {
df = "df -H";
diskspace = "sudo df -h | grep -E \"sd|lv|Size\"";
du = "du -ch";
meminfo = "free -m -l -t";
gpumeminfo = "grep -i --color memory /var/log/Xorg.0.log";
cpuinfo = "lscpu";
pscpu = "ps auxf | sort -nr -k 3";
pscpu10 = "ps auxf | sort -nr -k 3 | head -10";
psmem = "ps auxf | sort -nr -k 4";
psmem10 = "ps auxf | sort -nr -k 4 | head -10";
s = "systemctl";
ss = "systemctl status";
sst = "systemctl stop";
sr = "systemctl restart";
sre = "systemctl reload";
se = "systemctl enable";
sen = "systemctl enable --now";
su = "systemctl --user";
sus = "systemctl --user status";
sust = "systemctl --user stop";
sur = "systemctl --user restart";
sure = "systemctl --user reload";
sue = "systemctl --user enable";
suen = "systemctl --user enable --now";
dc = "docker compose";
dcd = "docker compose down";
dcl = "docker compose logs";
dclf = "docker compose logs -f";
dcp = "docker compose pull";
dcu = "docker compose up";
dcud = "docker compose up -d";
dcudp = "docker compose up -d --pull=always";
dcr = "docker compose restart";
enw = "emacsclient -nw";
e = "emacsclient -n -c";
cp = "cp -i";
rsync = "rsync -Pa --progress";
ln = "ln -i";
lns = "ln -si";
mv = "mv -i";
rm = "rm -Iv";
rmd = "rm --preserve-root -Irv";
rmdf = "rm --preserve-root -Irfv";
rmf = "rm --preserve-root -Ifv";
chgrp = "chgrp --preserve-root -v";
chmod = "chmod --preserve-root -v";
chown = "chown --preserve-root -v";
lsl = "eza -halg@ --group-directories-first --git";
flac = "yt-dlp -x --audio-format flac --audio-quality 0 o \"~/Music/%(uploader)s/%(title)s.%(ext)s\"";
please = "sudo -A";
wget = "wget --hsts-file=\"$XDG_DATA_HOME/wget-hsts\" -c";
};
cfg = config.home.shell;
in {
imports = [
./bash.nix
./fish.nix
./starship.nix
./tmux.nix
./zsh.nix
./zoxide.nix
];
options.home.shell.fullDesktop = mkEnableOption "Enable all shells";
config.home.shell = {
enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable;
bash = {
aliases = mkDefault aliases;
enable = mkDefault cfg.fullDesktop;
};
fish = {
abbrs = mkDefault aliases;
enable = mkDefault cfg.fullDesktop;
};
zsh = {
abbrs = mkDefault aliases;
enable = mkDefault cfg.fullDesktop;
};
};
}