summaryrefslogtreecommitdiff
path: root/config/alacritty/mux.toml
diff options
context:
space:
mode:
Diffstat (limited to 'config/alacritty/mux.toml')
-rw-r--r--config/alacritty/mux.toml26
1 files changed, 26 insertions, 0 deletions
diff --git a/config/alacritty/mux.toml b/config/alacritty/mux.toml
new file mode 100644
index 0000000..93f6259
--- /dev/null
+++ b/config/alacritty/mux.toml
@@ -0,0 +1,26 @@
+# The multiplexer every Alacritty window starts in or attaches to, shared
+# default: tmux, the same launch as config/ghostty/config.
+#
+# In its own import, listed first, rather than inline in alacritty.toml,
+# because of how Alacritty merges config (v0.17.0, alacritty/src/config/):
+# imports merge in list order, later ones winning, and the importing file is
+# merged last and beats all of them -- `merge(imports, config)`. An inline
+# [terminal.shell] could never be overridden from an import.
+#
+# To replace it on one machine, in ~/.local/share/alacritty/local.toml, use
+# the string form, pointing at an executable that takes no arguments:
+#
+# [terminal]
+# shell = "/Users/me/.local/bin/my-mux"
+#
+# NOT a [terminal.shell] table with its own args. Alacritty's merge appends
+# arrays rather than replacing them (serde_utils.rs: base.append), so that
+# machine's args would land after these, zsh would run the first -c, and the
+# window would still open in tmux, with no error. A string replaces the whole
+# table, args and all.
+#
+# A missing local.toml is skipped, and every window starts here, as before.
+
+[terminal.shell]
+args = ["--login", "-ic", "exec tmux new-session -As 0 -f ~/.tmux.conf"]
+program = "/bin/zsh"