blob: 8725e386819ae3fb8582ca3b5dbaba8483b45f00 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
{ lib, config, pkgs, inputs, ... }:
{
imports = [
./fzf.nix
];
environment.systemPackages = with pkgs; [
bat
fd
file
fzf
git
gnupg
htop
irssi
killall
neovim
ripgrep
tealdeer
traceroute
tcpdump
tree
(aspellWithDicts (ps: with ps; [ en en-science en-computers ru de ]))
exfatprogs
nmap
bind
nnn
ranger
man-pages
wlsunset
screen
];
nix = {
extraOptions = ''
experimental-features = nix-command flakes
'';
};
# override default nix shell nixpkgs# behaviour to use current flake lock
nix.registry =
let flakes = lib.filterAttrs (name: value: value ? outputs) inputs.self.inputs;
in builtins.mapAttrs (name: v: { flake = v; }) flakes;
nix.nixPath = lib.mapAttrsToList (name: value: "${name}=${value.outPath}") inputs.self.inputs;
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";
LESS = "-X -R -F";
};
environment.shellAliases = {
ls = "ls --color=auto";
l = "ls -l";
la = "ls -la";
ll = "ls -lah";
lt = "ls --tree";
vim = "nvim";
vf = "$EDITOR $(fzf)";
vff = "$EDITOR $(ls|fzf)";
mutt = "neomutt";
grep = "grep --color=auto";
nix-build="${pkgs.nix-output-monitor}/bin/nom-build";
nix-shell="${pkgs.nix-output-monitor}/bin/nom-shell";
};
users.defaultUserShell = pkgs.zsh;
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
interactiveShellInit = ''
bindkey -e
export HISTFILE="$HOME/.zsh_history"
export HISTSIZE=10000000
export SAVEHIST=10000000
# allow comments
setopt interactivecomments
# hacky wrapper for nix, so we can use nom automagically
export _nom_cmd=${pkgs.nix-output-monitor}/bin/nom
function nix {
case $1 in
build|shell|develop)
echo \[SUBSTITUTION\] ''$_nom_cmd ''${@:1} 1>&2
''$_nom_cmd ''${@:1}
;;
*)
${pkgs.nix}/bin/nix $@
esac
}
'';
promptInit = ''
source ${pkgs.liquidprompt}/share/zsh/plugins/liquidprompt/liquidprompt
'';
};
environment.etc.liquidpromptrc = {
text = ''
LP_ENABLE_SSH_COLORS=1
LP_ENABLE_TITLE=1
LP_ENABLE_SCREEN_TITLE=1
LP_ENABLE_TEMP=0
LP_ENABLE_SVN=0
LP_BATTERY_THRESHOLD=15
LP_SSH_COLORS=1
'';
};
programs.iftop.enable = true;
programs.mosh.enable = true;
programs.screen.screenrc = ''
defscrollback 10000
startup_message off
hardstatus on
hardstatus alwayslastline
hardstatus string "%w"
'';
}
|