From e05f5ef7880d856f368fc283f65674c0cc8c8ff1 Mon Sep 17 00:00:00 2001 From: Yan Lin Date: Mon, 20 Oct 2025 16:19:17 +0200 Subject: [PATCH] fix tmux copy on nixos hosts --- hosts/nixos/home-default.nix | 8 ++++++-- modules/tmux.nix | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/hosts/nixos/home-default.nix b/hosts/nixos/home-default.nix index c529daf..faa6bb2 100644 --- a/hosts/nixos/home-default.nix +++ b/hosts/nixos/home-default.nix @@ -45,7 +45,7 @@ httpie openssh gnumake - + # Network diagnostic tools bind # DNS utilities (dig, nslookup, mdig) iputils # Core network tools (ping, traceroute) @@ -53,7 +53,7 @@ netcat-gnu # Network connection utility curl # HTTP client wget # Web downloader - + # Command-line utilities ncdu git-credential-oauth @@ -62,6 +62,10 @@ fastfetch coreutils # GNU core utilities (base64, etc.) + # Clipboard utilities for tmux integration + wl-clipboard # Wayland clipboard (wl-copy/wl-paste) + xclip # X11 clipboard fallback + # Development and build tools python312 uv diff --git a/modules/tmux.nix b/modules/tmux.nix index 08d23ff..be59d3e 100644 --- a/modules/tmux.nix +++ b/modules/tmux.nix @@ -75,7 +75,12 @@ # Better copy mode bind-key -T copy-mode-vi v send-keys -X begin-selection - bind-key -T copy-mode-vi y send-keys -X copy-pipe "pbcopy" + # Platform-aware clipboard: pbcopy (macOS) | wl-copy (Wayland) | xclip (X11) + bind-key -T copy-mode-vi y if-shell 'command -v pbcopy' \ + 'send-keys -X copy-pipe-and-cancel "pbcopy"' \ + 'if-shell "test -n \"$WAYLAND_DISPLAY\"" \ + "send-keys -X copy-pipe-and-cancel \"wl-copy\"" \ + "send-keys -X copy-pipe-and-cancel \"xclip -selection clipboard\""' bind-key -T copy-mode-vi r send-keys -X rectangle-toggle # New window with current path