blob: 8b07abba490426c75ef642817aeea867bedd8eb4 (
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
|
{ lib, config, pkgs, inputs, ... }:
{
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 -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";
};
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
'';
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
'';
};
# integrate fzf into shell
programs.fzf = {
keybindings = true;
fuzzyCompletion = true;
};
programs.iftop.enable = true;
programs.mosh.enable = true;
programs.screen.screenrc = ''
defscrollback 10000
startup_message off
hardstatus on
hardstatus alwayslastline
hardstatus string "%w"
'';
}
|