blob: d813bc1cfa539758ff6e6f7349e9c0cbe5c3e7b0 (
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
|
{ pkgs, lib, ... }:
{
environment.systemPackages = with pkgs; [
lsd
fzf
fishPlugins.done
fishPlugins.fzf-fish
fishPlugins.tide
];
programs.fish = {
enable = true;
interactiveShellInit = ''
# disable greeting
set fish_greeting
# disable command-not-found
function fish_command_not_found
echo "Command not found"
end
# tmux stuff
function tn
set session_name (if test (count $argv) -eq 0
basename (pwd)
else
echo $argv[1]
end)
# Check if session exists
tmux has-session -t "$session_name" >/dev/null 2>&1
if test $status -eq 0
tmux attach-session -t "$session_name"
else
tmux new-session -s "$session_name"
end
end
# tmux completion
function __tmux_sessions
tmux list-sessions -F '#S' 2>/dev/null
end
# Remove default file argument behavior
complete -c tn -f
# Add our custom session name completions
complete -c tn -a '(__tmux_sessions)' -d 'tmux session'
'';
shellAliases = {
ls = "lsd --icon=never";
l = "ls -l";
ll = "ls -la";
vim = "nvim";
grep = "grep --color=auto";
};
};
# regression somewhere results in insane rebuild times
# https://discourse.nixos.org/t/slow-build-at-building-man-cache/52365
documentation.man.generateCaches = lib.mkForce false;
}
|