diff options
| author | Grisha Shipunov | 2025-08-26 14:07:52 +0200 |
|---|---|---|
| committer | Grisha Shipunov | 2025-08-26 14:07:52 +0200 |
| commit | ffa5e6fde4c5f4cf5cd9bbd234693b87f2d1b28a (patch) | |
| tree | bcca7675193be8acd4d762930937faed6212cc8a /modules | |
| parent | ee94a9a4ca1417bcf3c1fb6b80460323ec0f9c10 (diff) | |
move tmux bits into nix-config
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/basic-tools/fish.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/basic-tools/fish.nix b/modules/basic-tools/fish.nix index 5e06de3..ee3eee6 100644 --- a/modules/basic-tools/fish.nix +++ b/modules/basic-tools/fish.nix @@ -11,10 +11,41 @@ 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"; |
