blob: 329ac96a6fcf5f738b1d1570029f61f79f8ebd7f (
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
|
{
headless,
...
}:
{
programs.bash = {
enable = true;
historyFile = "~/.bash_history";
historyControl = [
"ignoredups"
"ignorespace"
];
shellOptions = [ "histappend" ];
initExtra = ''
# Shell prompt.
PS1="${if headless then ''\[\e[31m\][\h] '' else ""}\[\e[34m\]\w \[\e[33m\]λ\[\e[0m\] "
# Sane options.
set -o noclobber
set -o vi
bind "\C-l":clear-screen
bind "\C-p":previous-history
bind "\C-n":next-history
'';
profileExtra = ''
# Add script directories to PATH.
PATH=$PATH:$HOME/scripts
PATH=$PATH:$HOME/.local/bin
# Clean up duplicate entries in PATH while preserving directory order.
PATH="$(echo $PATH | tr ':' '\n' | awk '!a[$0]++' | tr '\n' ':' | sed 's/:$//')"
'';
sessionVariables = {
BROWSER = "firefox";
EDITOR = "vi";
KEYTIMEOUT = 1;
LC_ALL = "en_US.UTF-8";
LESSHISTFILE = "-";
MANPAGER = "less -R --use-color -Dd+r -Du+b";
};
shellAliases = {
cp = "cp -i";
mv = "mv -i";
rm = "rm -I";
ls = "ls --color=auto";
cat = "bat -pp";
grep = "grep --color=auto";
diff = "diff --color=auto";
mkdir = "mkdir -p";
deploy-flake = "f() { deploy .#$1 -s --remote-build --auto-rollback false && rsync -ax --delete ./ $1:/etc/nixos/; }; f";
};
};
programs.zoxide = {
enable = true;
options = [ "--cmd cd" ];
};
}
|