262 lines
5.7 KiB
Nix
262 lines
5.7 KiB
Nix
{ self, lib, pkgs, config, ... }:
|
|
{
|
|
home.packages = with pkgs; [
|
|
binutils
|
|
coreutils
|
|
dnsutils
|
|
dosfstools
|
|
#git
|
|
bottom
|
|
gptfdisk
|
|
starship
|
|
iputils
|
|
jq
|
|
manix
|
|
moreutils
|
|
nix-index
|
|
cached-nix-shell
|
|
nmap
|
|
ripgrep
|
|
skim
|
|
tealdeer
|
|
usbutils
|
|
utillinux
|
|
whois
|
|
iftop
|
|
wget
|
|
curl
|
|
exa
|
|
bat
|
|
fd
|
|
ncdu
|
|
duf
|
|
trash-cli
|
|
nix-index
|
|
ag
|
|
tcpdump
|
|
mtr
|
|
file
|
|
lsof
|
|
atool
|
|
inotify-tools
|
|
strace
|
|
zip
|
|
unzip
|
|
rsync
|
|
tmux
|
|
pwgen
|
|
glow
|
|
pass
|
|
less
|
|
gdb
|
|
xxd
|
|
kitty
|
|
taskwarrior
|
|
yt-dlp
|
|
gnupg
|
|
syncthing
|
|
dijo
|
|
flameshot
|
|
#ssb-patchwork
|
|
libreoffice
|
|
fontconfig
|
|
pandoc
|
|
];
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
enableAutosuggestions = true;
|
|
|
|
initExtra = ''
|
|
bindkey -v
|
|
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
|
|
}
|
|
autopair-init
|
|
'';
|
|
sessionVariables = {
|
|
EDITOR = "nvim";
|
|
TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo"; # Needed to run home-manager switch on non-nixOS
|
|
};
|
|
plugins = [
|
|
# {
|
|
# name = "zsh-autocomplete";
|
|
# src = pkgs.fetchFromGitHub {
|
|
# owner = "marlonrichert";
|
|
# repo = "zsh-autocomplete";
|
|
# rev = "22.01.21";
|
|
# sha256 = "+UziTYsjgpiumSulrLojuqHtDrgvuG91+XNiaMD7wIs=";
|
|
# };
|
|
# }
|
|
{
|
|
name = "zsh-autopair";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "hlissner";
|
|
repo = "zsh-autopair";
|
|
rev = "34a8bca0c18fcf3ab1561caef9790abffc1d3d49";
|
|
sha256 = "1h0vm2dgrmb8i2pvsgis3lshc5b0ad846836m62y8h3rdb3zmpy1";
|
|
};
|
|
file = "autopair.zsh";
|
|
}
|
|
{
|
|
name = "zsh-syntax-highlighting";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "zsh-users";
|
|
repo = "zsh-syntax-highlighting";
|
|
rev = "0.6.0";
|
|
sha256 = "0zmq66dzasmr5pwribyh4kbkk23jxbpdw4rjxx0i7dx8jjp2lzl4";
|
|
};
|
|
file = "zsh-syntax-highlighting.zsh";
|
|
}
|
|
{
|
|
name = "zsh-autoquoter";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "ianthehenry";
|
|
repo = "zsh-autoquoter";
|
|
rev = "819a615fbfd2ad25c5d311080e3a325696b45de7";
|
|
sha256 = "r0jdo+YFTOejvNMTqzXi5ftcLzDpuKejX0wMFwqKdJY=";
|
|
};
|
|
file = "zsh-autoquoter.zsh";
|
|
}
|
|
{
|
|
name = "zsh-nix-shell";
|
|
file = "nix-shell.plugin.zsh";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "chisui";
|
|
repo = "zsh-nix-shell";
|
|
rev = "v0.5.0";
|
|
sha256 = "0za4aiwwrlawnia4f29msk822rj9bgcygw6a8a6iikiwzjjz0g91";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
programs.starship = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
nix-direnv.enable = true;
|
|
nix-direnv.enableFlakes = true;
|
|
};
|
|
|
|
programs.zoxide = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
services.kdeconnect.enable = true;
|
|
|
|
home.shellAliases = {
|
|
# quick cd
|
|
".." = "cd ..";
|
|
"..." = "cd ../..";
|
|
"...." = "cd ../../..";
|
|
"....." = "cd ../../../..";
|
|
|
|
# kitaab recents
|
|
kr = "cd /home/anish/kitaab/vimwiki; ls --sort=modified --reverse | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 {}'";
|
|
|
|
# modern cli tools
|
|
ls = "exa";
|
|
l = "exa -l";
|
|
li = "exa --icons";
|
|
la = "exa -la";
|
|
tree = "ls --tree";
|
|
cat = "bat";
|
|
unzip = "aunpack";
|
|
copy = "xclip -selection clipboard";
|
|
paste = "xclip -selection clipboard -o";
|
|
rm = "echo USE TRASH, FOOL";
|
|
trash = "trash-put";
|
|
|
|
# task warrior
|
|
# TODO: make blocked a context?
|
|
t = "task -BLOCKED";
|
|
tun = "task -BLOCKED -wait";
|
|
tr = "task newest";
|
|
tu = "task unblocked -wait";
|
|
tl = "task list";
|
|
ta = "task add";
|
|
tn = "task-note";
|
|
tm = "task modify";
|
|
te = "task edit";
|
|
ts = "task sync";
|
|
|
|
scrot = "flameshot screen -c -p ~/screenshots/";
|
|
scrotgui = "flameshot gui -p ~/screenshots/";
|
|
|
|
# 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";
|
|
nfl = "nf lock";
|
|
nepl = "n repl '<nixpkgs>'";
|
|
srch = "ns nixos";
|
|
orch = "ns override";
|
|
nrb = "cd /tmp; sudo nixos-rebuild switch --flake '/etc/nixos/#curve'; cd $OLDPWD";
|
|
nrt = "cd /tmp; sudo nixos-rebuild test --flake '/etc/nixos/#curve'; cd $OLDPWD";
|
|
ned = "cd /etc/nixos; vim; cd $OLDPWD";
|
|
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 = "sudo -E ";
|
|
pls = "s";
|
|
si = "sudo -i";
|
|
se = "sudoedit";
|
|
|
|
# top
|
|
top = "btm";
|
|
|
|
# systemd
|
|
ctl = "systemctl";
|
|
stl = "s systemctl";
|
|
utl = "systemctl --user";
|
|
ut = "systemctl --user start";
|
|
un = "systemctl --user stop";
|
|
up = "s systemctl start";
|
|
dn = "s systemctl stop";
|
|
jtl = "journalctl";
|
|
|
|
# quick ssh
|
|
kssh = "kitten +kitty ssh";
|
|
sm = "ssh 10.0.69.4"; # box over wireguard
|
|
smm = "ssh mossnet.lan"; # box regular
|
|
ss = "ssh sealight.xyz"; # helix
|
|
sc = "ssh lakhwara.com"; # cube
|
|
};
|
|
}
|