From 3da5e9ce25c26a8fa0929cb20cd443efd36d97cc Mon Sep 17 00:00:00 2001 From: Shun Kakinoki Date: Thu, 12 Feb 2026 02:54:07 +0900 Subject: [PATCH 1/3] fix(tmux): add Wayland env vars to update-environment Add WAYLAND_DISPLAY and SWAYSOCK so clipboard tools like wl-copy work inside tmux sessions. fix(serena): use activation script for mutable config file Replace home.file with activation script so the config file is a regular writable file instead of a read-only symlink. --- config/serena/default.nix | 16 ++++++++++++---- home-manager/programs/tmux/tmux.conf | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/config/serena/default.nix b/config/serena/default.nix index 6b40d516f..19b2b3bd7 100644 --- a/config/serena/default.nix +++ b/config/serena/default.nix @@ -1,7 +1,15 @@ { config, ... }: +let + serenaConfigSrc = ./serena_config.yml; + serenaConfigDest = "${config.home.homeDirectory}/.serena/serena_config.yml"; +in { - home.file.".serena/serena_config.yml" = { - text = builtins.readFile ./serena_config.yml; - force = true; - }; + home.activation.serenaConfig = config.lib.dag.entryAfter [ "writeBoundary" ] '' + mkdir -p "$(dirname "${serenaConfigDest}")" + if [ ! -f "${serenaConfigDest}" ] || [ -L "${serenaConfigDest}" ]; then + rm -f "${serenaConfigDest}" + cp "${serenaConfigSrc}" "${serenaConfigDest}" + chmod u+w "${serenaConfigDest}" + fi + ''; } diff --git a/home-manager/programs/tmux/tmux.conf b/home-manager/programs/tmux/tmux.conf index feafaab0b..ce46908e5 100644 --- a/home-manager/programs/tmux/tmux.conf +++ b/home-manager/programs/tmux/tmux.conf @@ -10,7 +10,7 @@ setw -g mouse on # Fix SSH agent after reconnecting # https://blog.testdouble.com/posts/2016-11-18-reconciling-tmux-and-ssh-agent-forwarding/ -set -g update-environment "DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY" +set -g update-environment "DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY WAYLAND_DISPLAY SWAYSOCK" setenv -g SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock # Ensure window index numbers get reordered on delete. From 86437858492c654eb1f2af877203fbf814e1716b Mon Sep 17 00:00:00 2001 From: Shun Kakinoki Date: Thu, 12 Feb 2026 02:54:45 +0900 Subject: [PATCH 2/3] feat(tmux): add seconds to status bar clock --- home-manager/programs/tmux/tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/programs/tmux/tmux.conf b/home-manager/programs/tmux/tmux.conf index ce46908e5..daa04dfc9 100644 --- a/home-manager/programs/tmux/tmux.conf +++ b/home-manager/programs/tmux/tmux.conf @@ -102,7 +102,7 @@ set -g clock-mode-style 24 # ============================================================================= set -g status-style "bg=colour22,fg=colour255" set -g status-left "#[bg=colour28,fg=colour255,bold] #S #[bg=colour22,fg=colour28] " -set -g status-right "#[fg=colour250]#{?#{pane_current_command},#{pane_current_command},} #[fg=colour28]| #[fg=colour255]%Y/%m/%d %H:%M " +set -g status-right "#[fg=colour250]#{?#{pane_current_command},#{pane_current_command},} #[fg=colour28]| #[fg=colour255]%Y/%m/%d %H:%M:%S " set -g status-left-length 30 set -g status-right-length 60 From 4a1f97a8c2d3043b010841887f39e724b27a7732 Mon Sep 17 00:00:00 2001 From: Shun Kakinoki Date: Thu, 12 Feb 2026 04:58:30 +0900 Subject: [PATCH 3/3] fix(hyprland): change clipse bind to avoid xremap conflict The Hyper+V (CTRL ALT SHIFT SUPER V) binding for clipse TUI was being intercepted by xremap and remapped to Ctrl+V (paste), preventing the clipboard manager from opening. Change to $mod+Ctrl+V which bypasses xremap. --- config/hyprland/hyprland.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/hyprland/hyprland.conf b/config/hyprland/hyprland.conf index 9faa2386f..f3634c591 100644 --- a/config/hyprland/hyprland.conf +++ b/config/hyprland/hyprland.conf @@ -386,7 +386,8 @@ bind = $mod, PRINT, exec, hyprpicker -a bind = $mod SHIFT, V, exec, cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy && sleep 0.1 && wtype -M ctrl -k v -m ctrl # Clipboard manager TUI with image preview (clipse) -bind = CTRL ALT SHIFT SUPER, V, exec, ghostty --class clipse -e clipse +# Use $mod+Ctrl+V instead of Hyper+V to avoid xremap conflict (Hyper+V → Ctrl+V) +bind = $mod CTRL, V, exec, ghostty --class clipse -e clipse # ============================================================================= # Media / Hardware Keys (Framework 13 AI 300)