{ config, pkgs, ... }: { home.packages = with pkgs; [ fzy lf curl fd zsh-powerlevel10k zsh-autocomplete zsh-vi-mode ripgrep rsync moreutils ]; home.sessionVariables = { BROWSER = "firefox"; PDF_VIEWER = "evince"; GPULAB_CERT = "${config.xdg.configHome}/../.secrets/GPULab/certificate.pem"; GPULAB_DEV = "False"; GCC_COLORS = "error = '01;31:warning = '01;35:note = '01;36:caret = '01;32:locus = '01:quote = '01'"; ARCHFLAGS = "-arch x86_64"; TERM = "screen-256color"; PYTHONDONTWRITEBYTECODE = "1"; GOPATH = "${config.xdg.dataHome}/go"; DIRENV_LOG_FORMAT = ""; }; programs.direnv = { enable = true; enableZshIntegration = true; # see note on other shells below nix-direnv.enable = true; config = { global = { hiden_env_diff = true; }; }; }; programs.command-not-found.enable = true; programs.zoxide = { enable = true; enableZshIntegration = true; }; programs.fzf = { enable = true; }; programs.zsh = { enable = true; enableCompletion = true; syntaxHighlighting.enable = false; autosuggestion.enable = true; initExtra = '' LOCAL_SEARCH_DIRS=(~/.dotfiles/) REMOTE_SEARCH_DIRS=(~/Workspace/ /home/server/Storage/Shared/ /home/server/Storage/Thomas/) ''; initExtraFirst = '' ZVM_VI_INSERT_ESCAPE_BINDKEY=jj source ${./files/waypipe.zsh} source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme source ${./files/p10k.zsh} source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh function zvm_after_init() { source ${./files/term.zsh} source ${./files/completion.zsh} if [ -n "\$\{commands[fzf-share]\}" ]; then source "$(fzf-share)/key-bindings.zsh" source "$(fzf-share)/completion.zsh" fi source ${./files/keys.zsh} source ${./files/functions.zsh} } ''; shellAliases = { mallorea = "run_waypipe mallorea"; vault = "run_waypipe vault"; riva = "run_waypipe riva"; kell = "run_waypipe kell"; aloria = "run_waypipe aloria"; nixvm = "run_waypipe nixvm"; ll = "ls -lhat"; ls = "ls --color=auto"; lf = ''cd "$(${pkgs.lf}/bin/lf -print-last-dir)"''; compress = "tar --use-compress-program = lbzip2 -cvf"; wget = ''wget --hsts-file = "$XDG_DATA_HOME/wget-hsts"''; python = "python3"; vim = "nvim"; v = '' nvim -c ':lua require("oil").open()' && cd "$(cat /tmp/oil_dir 2> /dev/null || pwd)"''; cpr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1"; mvr = "rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1 --remove-source-files"; rg = "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'"; ag = "rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'"; push = ''git add -A && git commit -m "`date`" && git push''; reset = "tput reset"; }; history.size = 10000000; history.save = 10000000; history.path = "${config.xdg.dataHome}/zsh/history"; autocd = true; }; }