{ config, ... }: let name = "Matthew Ess"; email = "mat@mat.services"; in { imports = [ ]; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; home-manager.users.mat = { pkgs, ... }: { home = { sessionVariables = { EDITOR = "vim"; }; packages = with pkgs; [ # nix utilities cachix niv nixfmt nix-prefetch-git fish-foreign-env # command line utils ripgrep rlwrap tealdeer pijul mullvad-vpn ]; }; programs = { bat.enable = true; broot.enable = true; command-not-found.enable = true; direnv.enable = true; fish = { enable = true; interactiveShellInit = '' echo 'ヽ(´ᗜ`)ノ welcome ヽ(´ᗜ`)ノ' if not functions -q fisher set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config curl https://git.io/fisher --create-dirs -sLo $XDG_CONFIG_HOME/fish/functions/fisher.fish fish -c fisher end fish_vi_key_bindings set VIRTUAL_ENV_DISABLE_PROMPT true alias cat=bat alias br=broot alias tree=br alias ack=rg alias ag=rg alias grep=rg alias sys="sudo systemctl" alias rebuild="sudo nixos-rebuild switch" alias rebuildd="sudo nixos-rebuild switch; and systemctl restart display-manager" alias upgrade="sudo rm -rf /root/.cache/nix/tarballs; and sudo nix-channel --update; and sudo nixos-rebuild switch --upgrade" bind \cr 'fzy_select_history (commandline -b)' bind -M insert \cr 'fzy_select_history (commandline -b)' bind \cf 'fzy_select_directory' bind -M insert \cf 'fzy_select_directory' bind -M insert ! __history_previous_command bind -M insert '$' __history_previous_command_arguments ''; }; git = { enable = true; userName = "${name}"; userEmail = "${email}"; ignores = [ ".*.sw[a-z]" "tags" ]; extraConfig = { color.ui = true; core.editor = "vim"; push.default = "simple"; init.defaultBranch = "main"; }; }; htop = { enable = true; highlightBaseName = true; }; man.enable = true; ssh = { enable = true; serverAliveInterval = 60; extraOptionOverrides = { "AddKeysToAgent" = "true"; }; }; starship.enable = true; tmux = { enable = true; keyMode = "vi"; newSession = true; shortcut = "a"; baseIndex = 1; }; }; services = { lorri.enable = true; }; }; }