hosts/<hostname>/{config,system}/ now overlays the shared trees. install.sh
installs a host file in place of the shared copy at the same path, and
capture.sh pulls back into whichever copy the host installs from. That keeps
hardware-specific files off the wrong machine: the HP's EDID-named monitors.lua
and its fnmode=2 would otherwise land on the Air.
capture.sh refreshes the shared trees only on omarchy-laptop, where they were
captured, or when CAPTURE_SHARED=1 is set. On the Air, a plain run copied its
stock terminal, hypr and shell files over every one of the HP's customizations.
air's overlay holds monitors.lua (1.33333 scale and GDK_SCALE=1 for the
2560x1664 panel), input.lua (stock settings plus the inert-accel measurements),
herdr onboarding=false, git identity and credential helpers (no secrets),
mimeapps.list, and the Asahi installer's hid_apple fnmode=1 and show_notch=1.
bindings.lua is not overlaid because the shared one is a strict superset.
hosts/omarchy-air/README.md records what was left out on purpose and why, and
warns that the shared packages.txt is x86-specific.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KKPyqMc7MGKyBLKVdeDejp
97 lines
2.7 KiB
TOML
97 lines
2.7 KiB
TOML
onboarding = false
|
|
# Mirrors the Omarchy tmux config in config/tmux/tmux.conf
|
|
# tmux session -> herdr workspace, tmux window -> herdr tab, tmux pane -> herdr pane
|
|
|
|
[theme]
|
|
# tmux ran on the terminal's own palette (bg=default, fg=default, ANSI blue accents)
|
|
name = "terminal"
|
|
|
|
[theme.custom]
|
|
# The active tab is drawn as panel_bg text on an accent background, so panel_bg
|
|
# has to be dark for it to read - same colors as status-left's "#[fg=black,bg=blue]"
|
|
panel_bg = "black"
|
|
|
|
[terminal]
|
|
# Matches -c "#{pane_current_path}" on every split, window, and session
|
|
new_cwd = "follow"
|
|
|
|
[keys]
|
|
prefix = "ctrl+space"
|
|
|
|
# Config and help
|
|
reload_config = "prefix+q"
|
|
help = "prefix+?"
|
|
detach = "prefix+d"
|
|
|
|
# Copy mode
|
|
copy_mode = "prefix+["
|
|
|
|
# Panes
|
|
split_horizontal = ["prefix+h", "alt+enter"]
|
|
split_vertical = ["prefix+v", "alt+shift+enter"]
|
|
close_pane = ["prefix+x", "alt+esc"]
|
|
zoom = "prefix+z"
|
|
last_pane = "prefix+;"
|
|
|
|
focus_pane_left = "ctrl+alt+left"
|
|
focus_pane_down = "ctrl+alt+down"
|
|
focus_pane_up = "ctrl+alt+up"
|
|
focus_pane_right = "ctrl+alt+right"
|
|
|
|
resize_mode = ["prefix+ctrl+left", "prefix+ctrl+down", "prefix+ctrl+up", "prefix+ctrl+right"]
|
|
|
|
# Like resize-pane on C-M-S-arrows
|
|
resize_pane_left = "ctrl+alt+shift+left"
|
|
resize_pane_down = "ctrl+alt+shift+down"
|
|
resize_pane_up = "ctrl+alt+shift+up"
|
|
resize_pane_right = "ctrl+alt+shift+right"
|
|
|
|
# No tmux equivalent; herdr's default prefix+shift+p is taken by previous session
|
|
rename_pane = "prefix+shift+o"
|
|
|
|
# Windows -> tabs
|
|
new_tab = "prefix+c"
|
|
rename_tab = "prefix+r"
|
|
close_tab = "prefix+k"
|
|
switch_tab = ["prefix+1..9", "alt+1..9"]
|
|
previous_tab = ["prefix+p", "alt+left"]
|
|
next_tab = ["prefix+n", "alt+right"]
|
|
|
|
# Like swap-window -t -1/+1 on M-S-Left/Right
|
|
move_tab_previous = "alt+shift+left"
|
|
move_tab_next = "alt+shift+right"
|
|
|
|
# Sessions -> workspaces
|
|
new_workspace = "prefix+shift+c"
|
|
rename_workspace = "prefix+shift+r"
|
|
close_workspace = "prefix+shift+k"
|
|
previous_workspace = ["prefix+shift+p", "alt+up"]
|
|
next_workspace = ["prefix+shift+n", "alt+down"]
|
|
|
|
[ui]
|
|
accent = "blue"
|
|
|
|
# tmux drew single-line dividers between adjacent panes and no outer frame
|
|
pane_gaps = false
|
|
pane_outer_borders = false
|
|
|
|
# tmux had no scrollbar column beside its panes
|
|
pane_scrollbars = false
|
|
|
|
# kill-window and kill-session never asked
|
|
confirm_close = false
|
|
|
|
# automatic-rename gave windows a name without prompting
|
|
prompt_new_tab_name = false
|
|
|
|
# set -g mouse on
|
|
mouse_capture = true
|
|
|
|
# status-right had the zoom flag followed by #h
|
|
tab_bar_right = [{ type = "zoom" }, { type = "hostname" }]
|
|
|
|
# set -g set-titles on / set -g set-titles-string '#h:#W', where tmux's #W was
|
|
# the basename of the pane cwd. This is what Hyprland shows in the group bar,
|
|
# and it resolves on the server so remote sessions name the remote host.
|
|
window_title = "{hostname}: {workspace}"
|