dotfiles.nix/users/mat-hm.nix

120 lines
2.6 KiB
Nix
Raw Normal View History

2021-05-06 00:05:27 +00:00
{ pkgs, ... }:
2021-01-11 03:59:20 +00:00
let
name = "Matthew Ess";
email = "mat@mat.services";
in {
2021-05-06 00:05:27 +00:00
home = {
2021-05-06 01:03:56 +00:00
sessionVariables = { EDITOR = "nvim"; };
2021-05-06 00:05:27 +00:00
packages = with pkgs; [
# nix utilities
cachix
niv
nixfmt
nix-prefetch-git
fishPlugins.foreign-env
# command line utils
dnsutils
fd
fzy
httpie
jq
neofetch
rlwrap
tealdeer
];
file = import ../hm-configs/files-all.nix;
};
2021-01-11 03:59:20 +00:00
2021-05-06 00:05:27 +00:00
programs = {
bat.enable = true;
broot.enable = true;
command-not-found.enable = true;
direnv = {
enable = true;
enableNixDirenvIntegration = true;
};
2021-01-11 04:14:51 +00:00
2021-05-06 00:05:27 +00:00
fish = {
enable = true;
interactiveShellInit = ''
echo '(´) welcome (´)'
if not functions -q fisher
set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
fish -c fisher update
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
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
'';
};
2021-01-11 03:59:20 +00:00
2021-05-06 00:05:27 +00:00
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";
2021-01-11 03:59:20 +00:00
};
2021-05-06 00:05:27 +00:00
};
2021-01-11 03:59:20 +00:00
2021-05-06 00:05:27 +00:00
htop = {
enable = true;
highlightBaseName = true;
};
2021-01-11 03:59:20 +00:00
2021-05-06 00:05:27 +00:00
keychain = {
enable = true;
extraFlags = [ "--quiet" "--nogui" ];
enableFishIntegration = true;
enableXsessionIntegration = false;
};
2021-05-06 00:05:27 +00:00
man.enable = true;
neovim = import ../hm-configs/neovim.nix { inherit pkgs; };
2021-01-11 03:59:20 +00:00
2021-05-06 00:05:27 +00:00
ssh = {
enable = true;
serverAliveInterval = 60;
extraOptionOverrides = { "AddKeysToAgent" = "true"; };
};
2021-01-11 03:59:20 +00:00
2021-05-06 00:05:27 +00:00
starship.enable = true;
tmux = {
enable = true;
keyMode = "vi";
newSession = true;
shortcut = "a";
baseIndex = 1;
terminal = "tmux-256color";
extraConfig = ''
set -g mouse on
setw -g pane-base-index 1
unbind %
bind | split-window -h
bind _ split-window -v
'';
2021-01-11 03:59:20 +00:00
};
};
}