summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGrisha Shipunov2025-08-26 14:07:52 +0200
committerGrisha Shipunov2025-08-26 14:07:52 +0200
commitffa5e6fde4c5f4cf5cd9bbd234693b87f2d1b28a (patch)
treebcca7675193be8acd4d762930937faed6212cc8a /modules
parentee94a9a4ca1417bcf3c1fb6b80460323ec0f9c10 (diff)
move tmux bits into nix-config
Diffstat (limited to 'modules')
-rw-r--r--modules/basic-tools/fish.nix31
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";