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
{
config,
lib,
pkgs,
...
}:
{
options.zpha.programs.shellUtilities.enable = lib.mkEnableOption "useful shell-utilities";
config = lib.mkIf config.zpha.programs.shellUtilities.enable {
preservation.preserveAt."/persist".users.zaphyra.directories = [
".local/share/zoxide"
".local/share/mcfly"
];
users.users.zaphyra.maid = {
packages = with pkgs; [
zoxide
eza
bat
ripgrep
fd
pwgen
(pkgs.writeShellScriptBin "use" ''
declare -a all
for p in "$@"; do
all+=("''${NIXPKGS_PATH}#$p")
done
eval nix shell ''${all[@]}
'')
mcfly
mcfly-fzf
fzf
wget
curl
rsync
fx
jq
bc
file
trash-cli
zpha.nix-cleanup
];
programs.fish = {
config = ''
zoxide init fish | source
mcfly init fish | source
mcfly-fzf init fish | source
'';
aliases = {
".." = "cd ..";
"..." = "cd ../..";
cd = "z";
cdi = "zi";
ls = "eza";
ll = "eza -l";
la = "eza -a";
lla = "eza -la";
tree = "eza --tree -a";
cat = "bat -pp";
less = "bat";
rm = "trash-put";
diff = "diff --color";
ip = "ip --color=auto";
killall = "pkill";
grep = "rg";
find = "fd";
wget = "wget --hsts-file=\"~/.local/state/wget-hsts\"";
zzz = "sleep 1 && systemctl suspend";
};
};
};
};
}