home-manager managed shell prompt
This commit is contained in:
parent
98a61dcf86
commit
783997c8a3
172
users/profiles/cli/default.nix
Normal file
172
users/profiles/cli/default.nix
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
binutils
|
||||||
|
coreutils
|
||||||
|
dnsutils
|
||||||
|
dosfstools
|
||||||
|
#git
|
||||||
|
bottom
|
||||||
|
gptfdisk
|
||||||
|
iputils
|
||||||
|
jq
|
||||||
|
manix
|
||||||
|
moreutils
|
||||||
|
nix-index
|
||||||
|
cached-nix-shell
|
||||||
|
nmap
|
||||||
|
ripgrep
|
||||||
|
skim
|
||||||
|
tealdeer
|
||||||
|
usbutils
|
||||||
|
utillinux
|
||||||
|
whois
|
||||||
|
iftop
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
exa
|
||||||
|
bat
|
||||||
|
fd
|
||||||
|
ag
|
||||||
|
tcpdump
|
||||||
|
mtr
|
||||||
|
file
|
||||||
|
lsof
|
||||||
|
atool
|
||||||
|
inotify-tools
|
||||||
|
strace
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
rsync
|
||||||
|
tmux
|
||||||
|
pwgen
|
||||||
|
glow
|
||||||
|
gitAndTools.gitFull
|
||||||
|
pinentry_gnome
|
||||||
|
pass
|
||||||
|
less
|
||||||
|
gdb
|
||||||
|
xxd
|
||||||
|
kitty
|
||||||
|
taskwarrior
|
||||||
|
gnupg
|
||||||
|
syncthing
|
||||||
|
dijo
|
||||||
|
#kdeconnect
|
||||||
|
#ssb-patchwork
|
||||||
|
libreoffice
|
||||||
|
fontconfig
|
||||||
|
pandoc
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.bash = {
|
||||||
|
promptInit = ''
|
||||||
|
eval "$(${pkgs.starship}/bin/starship init bash)"
|
||||||
|
'';
|
||||||
|
interactiveShellInit = ''
|
||||||
|
flakify() {
|
||||||
|
if [ ! -e flake.nix ]; then
|
||||||
|
nix flake new -t github:nix-community/nix-direnv .
|
||||||
|
elif [ ! -e .envrc ]; then
|
||||||
|
echo "use flake" > .envrc
|
||||||
|
direnv allow
|
||||||
|
fi
|
||||||
|
vim flake.nix
|
||||||
|
}
|
||||||
|
|
||||||
|
eval "$(${pkgs.direnv}/bin/direnv hook bash)"
|
||||||
|
'';
|
||||||
|
enableCompletion = true;
|
||||||
|
shellInit = ''
|
||||||
|
export STARSHIP_CONFIG=${
|
||||||
|
pkgs.writeText "starship.toml"
|
||||||
|
(fileContents ./starship.toml)
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
shellAliases =
|
||||||
|
let ifSudo = lib.mkIf config.security.sudo.enable;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# quick cd
|
||||||
|
".." = "cd ..";
|
||||||
|
"..." = "cd ../..";
|
||||||
|
"...." = "cd ../../..";
|
||||||
|
"....." = "cd ../../../..";
|
||||||
|
|
||||||
|
# modern cli tools
|
||||||
|
ls = "exa";
|
||||||
|
l = "ls";
|
||||||
|
tree = "ls --tree";
|
||||||
|
cat = "bat";
|
||||||
|
unzip = "aunpack";
|
||||||
|
copy = "xclip -selection clipboard";
|
||||||
|
paste = "xclip -selection clipboard -o";
|
||||||
|
|
||||||
|
# task warrior
|
||||||
|
t = "task";
|
||||||
|
ta = "task add";
|
||||||
|
tm = "task modify";
|
||||||
|
te = "task edit";
|
||||||
|
ts = "task sync";
|
||||||
|
|
||||||
|
scrot = "scrot ~/screenshots/%b%d::%H%M%S.png";
|
||||||
|
|
||||||
|
# git
|
||||||
|
g = "git";
|
||||||
|
|
||||||
|
# grep
|
||||||
|
grep = "rg";
|
||||||
|
gi = "grep -i";
|
||||||
|
|
||||||
|
# internet ip
|
||||||
|
myip = "dig +short myip.opendns.com @208.67.222.222 2>&1";
|
||||||
|
|
||||||
|
# nix
|
||||||
|
n = "nix";
|
||||||
|
np = "n profile";
|
||||||
|
ni = "np install";
|
||||||
|
nr = "np remove";
|
||||||
|
ns = "n search --no-update-lock-file";
|
||||||
|
nf = "n flake";
|
||||||
|
nepl = "n repl '<nixpkgs>'";
|
||||||
|
srch = "ns nixos";
|
||||||
|
orch = "ns override";
|
||||||
|
nrb = ifSudo "cd /tmp; sudo nixos-rebuild switch --flake '/etc/nixos/#curve'; cd $OLDPWD";
|
||||||
|
nrt = ifSudo "sudo nixos-rebuild test --flake '/etc/nixos/#curve'";
|
||||||
|
nedit = "cd /etc/nixos; vim";
|
||||||
|
ncd = "cd /etc/nixos";
|
||||||
|
mn = ''
|
||||||
|
manix "" | grep '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | sk --preview="manix '{}'" | xargs manix
|
||||||
|
'';
|
||||||
|
|
||||||
|
# fix nixos-option
|
||||||
|
nixos-option = "nixos-option -I nixpkgs=${self}/lib/compat";
|
||||||
|
|
||||||
|
# sudo
|
||||||
|
s = ifSudo "sudo -E ";
|
||||||
|
pls = ifSudo "s";
|
||||||
|
si = ifSudo "sudo -i";
|
||||||
|
se = ifSudo "sudoedit";
|
||||||
|
|
||||||
|
# top
|
||||||
|
top = "btm";
|
||||||
|
|
||||||
|
# systemd
|
||||||
|
ctl = "systemctl";
|
||||||
|
stl = ifSudo "s systemctl";
|
||||||
|
utl = "systemctl --user";
|
||||||
|
ut = "systemctl --user start";
|
||||||
|
un = "systemctl --user stop";
|
||||||
|
up = ifSudo "s systemctl start";
|
||||||
|
dn = ifSudo "s systemctl stop";
|
||||||
|
jtl = "journalctl";
|
||||||
|
|
||||||
|
# quick ssh
|
||||||
|
sm = "ssh 10.0.69.4";
|
||||||
|
ss = "ssh sealight.xyz";
|
||||||
|
sc = "ssh lakhwara.com"; # cube
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue