nix-config/modules/basic-tools.nix
2022-06-11 23:28:31 +02:00

97 lines
1.7 KiB
Nix

{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
bat
exa
fd
file
fzf
gitFull
gnupg
htop
irssi
killall
mercurial
neovim
ripgrep
tealdeer
tokei
traceroute
tree
liquidprompt
(aspellWithDicts (ps: with ps; [ en en-science en-computers ru de ]))
exfatprogs
nmap
bind
nnn
man-pages
neomutt
cachix
];
nix = {
package = pkgs.nixUnstable;
autoOptimiseStore = true;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
programs.tmux = {
enable = true;
keyMode = "vi";
escapeTime = 0;
historyLimit = 50000;
aggressiveResize = true;
terminal = "tmux-256color";
};
# set appropriate environ variables
environment.variables = {
EDITOR = "nvim";
PAGER = "less -F";
};
environment.shellAliases = {
vim = "nvim";
vi = "nvim";
vf = "$EDITOR $(fzf)";
vff = "$EDITOR $(ls|fzf)";
ls = "exa";
ll = "exa -l";
l = "exa -al";
ssh = "TERM=xterm-256color ssh";
mutt = "neomutt";
};
users.defaultUserShell = pkgs.zsh;
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
interactiveShellInit = ''
bindkey -e
'';
promptInit = ''
source /run/current-system/sw/share/zsh/plugins/liquidprompt/liquidprompt
if [[ -n "$IN_NIX_SHELL" ]]; then
prompt_tag "(nix-shell)"
fi
'';
};
environment.etc.liquidpromptrc = {
text = ''
LP_ENABLE_SSH_COLORS=1
LP_ENABLE_TITLE=1
LP_ENABLE_SCREEN_TITLE=1
'';
};
programs.msmtp = {
enable = true;
};
programs.iftop.enable = true;
programs.mosh.enable = true;
}