{ 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 trash-cli nix-index ag tcpdump mtr file lsof atool inotify-tools strace zip unzip rsync tmux pwgen glow pinentry_gnome pass less gdb xxd kitty taskwarrior gnupg syncthing dijo #kdeconnect #ssb-patchwork libreoffice fontconfig pandoc ]; programs.starship = { enable = true; enableZshIntegration = true; }; programs.zsh = { enable = true; # 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 # } # ''; sessionVariables = { EDITOR = "nvim"; }; enableCompletion = true; }; programs.direnv = { enable = true; enableZshIntegration = true; }; home.shellAliases = { # 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"; }; }