Unverified Commit b3b1a853 authored by Bernardo Meurer Costa's avatar Bernardo Meurer Costa
Browse files

nixos/tmux: use idempotent new-session to avoid duplicate sessions

When both NixOS programs.tmux and home-manager tmux configs set
newSession = true, tmux would create two sessions on startup since
both /etc/tmux.conf and ~/.config/tmux/tmux.conf contain the
new-session command.

Change new-session to new-session -A -s 0, which attaches to session
"0" if it exists, otherwise creates it. This makes the command
idempotent so multiple configs can safely enable newSession.
parent 765cd61a
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -29,7 +29,12 @@ let
    setw -g pane-base-index ${toString cfg.baseIndex}
    set  -g history-limit   ${toString cfg.historyLimit}

    ${optionalString cfg.newSession "new-session"}
    ${optionalString cfg.newSession ''
      # Use -A to make new-session idempotent: attach if session "0" exists,
      # otherwise create it. This prevents duplicate sessions when multiple
      # configs (e.g., system and user) both enable newSession.
      new-session -A -s 0
    ''}

    ${optionalString cfg.reverseSplit ''
      bind v split-window -h