dotfiles.nix/users/mat-hm.nix

113 lines
2.7 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{ config, ... }:
let
name = "Matthew Ess";
email = "mat@mat.services";
in {
imports = [ <home-manager/nixos> ];
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; };
};
}