30 Commits

Author SHA1 Message Date
Austin Horstman
3c3ede6ad8 tests: update YAML expectations for remarshal v2
Nixpkgs switched pkgs.formats.yaml to remarshal v2. Generated files now
start with a %YAML 1.1 directive and a --- document start, and multiline
strings use double-quoted escapes.

Only files written through yamlFormat.generate change. Modules that
declare the YAML type but write the file with builtins.toJSON keep their
current output.
2026-08-19 10:14:55 -05:00
Benedikt Rips
71402c5df3 treewide: mark unused lambda arguments 2026-04-13 22:02:40 -05:00
MrQubo
e35c39fca0 tmux: reduce default escapeTime 2026-04-09 19:43:45 -05:00
Bernardo Meurer Costa
6f35bb9799 tmux: use idempotent new-session to avoid duplicate sessions
When both system-level (e.g., 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.
2026-04-07 21:52:27 -05:00
Benedikt Ritter
9cc761169a tmuxinator: use yml file ending
Files with yaml file ending are recognized by `tmuxinator start` but not
by `tmuxinator list`.

Resolves #9031
2026-04-07 13:40:48 -05:00
Benedikt Ritter
b399348e9d tmuxinator: move to dedicated module with projects support
Extract tmuxinator from tmux.nix into its own programs/tmuxinator.nix
module. The new module adds:

- programs.tmux.tmuxinator.package for customising the tmuxinator package
- programs.tmux.tmuxinator.projects for declaring projects declaratively;
  each project is written to $HOME/.config/tmuxinator/<name>.yaml

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
2026-03-31 14:05:50 -05:00
Léana 江
f1ebddedab tmux: fix double press prefix passthrough 2026-02-18 20:55:51 -06:00
robin
899af4218c tmux: fix prefix and shortcut settings (#7549)
adjusting the tmux lines for setting the prefix.
previously the prefix option would be set in the prefix key table, causing it to not register correctly.

- updated tests
2025-08-01 09:53:46 -05:00
K900
abfad3d295 treewide: substituteAll -> replaceVars/substitute
substituteAll is now officially deprecated.
2025-04-24 13:40:11 +02:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Austin Horstman
439a125afe tests: remove with lib (#6511) 2025-02-21 23:20:07 -06:00
Bruno BELANYI
bf23fe4108 tmux: add 'focusEvents'
With `tmux-sensible` being disabled by default, add an easy toggle to
enable this functionality.

Disabled by default, as in upstream `tmux`.
2024-12-02 22:43:34 +01:00
Gen
f83dc9f25a tmux: set sensibleOnTop = false as a default
Fixes #5952
2024-11-28 11:30:10 +01:00
Stanislav Asunkin
e3f28ddb0d tmux: fix secureSocket environment variable (#3593) 2023-02-05 11:22:41 +01:00
Sleroq
2ffc6d6496 tmux: mouse support (#3642)
Co-authored-by: Sleroq <sleroq@sleroq.link>
2023-02-05 11:02:14 +01:00
Leon Vack
e96fc6d8f9 tmux: add notes to existing keybindings (#2540) (#2742)
Adds notes to the keybindings created in the tmux config making them
show up in C-b ? and tmux list-keys -N

Fixes #2540
2022-03-19 19:12:21 -04:00
Mario Rodas
e00dd0d7d2 programs.tmux: use xdg config path (#1928)
Tmux 3.2 includes support to use `$XDG_CONFIG_HOME/tmux/tmux.conf` as
well as `~/.config/tmux/tmux.conf` for configuration file.
2021-04-23 09:25:13 +02:00
toonn
a1162e04b3 tmux: add a prefix option overruling shortcut if defined
Previously, it was not possible to set an arbitrary tmux prefix since
CTRL was hardcoded in the module.

To avoid breaking existing configs, a new option was implemented that
conveniently uses the tmux terminology but defaults to null and does
not affect previous behavior when set to null.

The behavior for the shortcut option was not completely replicated,
i.e., it does not bind "b" to send-prefix but stick to the default of
the prefix binding sending prefix (C-b C-b instead of C-b b) and it
does not bind repetition of the prefix (C-b C-b) to `last-window`,
both of these bring the option closer to the default tmux
configuration.

Fixes #1237
2020-12-21 00:10:59 +01:00
Joe Hermaszewski
9c14bbe988 tmux: allow setting default-shell before new-session 2020-11-14 10:59:10 +01:00
Johannes Rosenberger
a7cdfaa325 tmux: reorder tmux.conf content
In particular, put `extraConfig` in the end, which enables overriding
of all settings, even plugin settings.

PR #945
2020-04-27 22:04:13 +02:00
Johannes Rosenberger
23220d43f3 tmux: use stable plugin names (name -> pname)
PR #1195
2020-04-26 15:22:23 +02:00
Robert Helgesson
95b95b1407 tests: improve test purity
Before the XDG variables would be set from the user's environment, if
available. This would break some tests.

With this change the tests should be fully deterministic.

Fixes #1190
2020-04-24 21:46:34 +02:00
Robert Helgesson
f6afd95ef8 tmux: fix broken test case 2020-04-15 23:25:16 +02:00
Robert Helgesson
a128e35927 Update nixfmt and apply to a few more files 2020-04-06 12:51:11 +02:00
Robert Helgesson
45abf3d38a Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
Robert Helgesson
797c77a00a tests: reduce number of downloads
This replaces some derivation outputs by simple strings rather than
full Nix store paths. This removes the need to download the whole
derivation when all we need is a static string.
2019-10-26 13:07:04 +02:00
Sebastián Estrella
29824a8cf6 tmux: Disable confirmation prompt 2019-06-05 13:05:10 +09:00
Robert Helgesson
939274281a tests: bump nmt version 2019-05-06 00:17:30 +02:00
Wael M. Nasreddine
652c694244 programs.tmux: implement secureSocket 2019-04-04 17:14:29 -07:00
Wael M. Nasreddine
2093cf425f tmux: general improvements and added options
See #575 for discussion.
2019-02-13 22:14:30 +01:00