From ffa5e6fde4c5f4cf5cd9bbd234693b87f2d1b28a Mon Sep 17 00:00:00 2001 From: Grisha Shipunov Date: Tue, 26 Aug 2025 14:07:52 +0200 Subject: move tmux bits into nix-config --- modules/basic-tools/fish.nix | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'modules') 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"; -- cgit v1.3.1