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
4.1 KiB
omarchy-air
MacBook Air M2 (Mac14,2) running Omarchy 4.0.3rc4-1 on Asahi (aarch64).
Captured 2026-10-16.
Every file here overlays the shared tree on this host only: install.sh installs
hosts/omarchy-air/config/X instead of config/X, and capture.sh pulls back
into it. Paths the overlay leaves out fall through to the shared files, which come
from omarchy-laptop (the HP).
What is in the overlay, and why
| File | Why it is per-host |
|---|---|
config/hypr/monitors.lua |
Stock file with scale = 1.33333 and GDK_SCALE = 1 for the 2560x1664 Retina panel. The shared one names the HP's Chimei panel and its LG outputs by EDID, which mean nothing here. |
config/hypr/input.lua |
Stock settings plus the measurement notes showing why per-device sensitivity/accel_profile rules are inert for lan-mouse's virtual pointer. Air keeps stock input. It does not take the shared file's 3-finger workspace gesture, its natural_scroll comment change, or its unknown-device flat-accel rules. Drop this file if you want the HP's behaviour here. |
config/herdr/config.toml |
Stock plus onboarding = false. |
config/git/config |
Stock Omarchy git config plus identity, fetch.prune, libsecret, and a git.nic-oconnor.com helper that reads $GITEA_KEY from the environment. The file holds no secret. |
config/mimeapps.list |
nvim for text and source files, chromium for web, HEY for mailto:, and the claude-cli URL handler. |
system/modprobe.d/hid_apple.conf |
fnmode=1, which is what Omarchy's own fix-fkeys.sh writes. Without this the shared copy would push the HP's fnmode=2 onto this keyboard. |
system/modprobe.d/asahi-notch.conf |
show_notch=1, written by Omarchy's apple/enable-notch.sh. Tracked so it stays explicit. |
hypr/bindings.lua is deliberately not overlaid. The shared file is a strict
superset of what air had: the same SUPER+SHIFT+K handoff chord plus Claude and
herdr-hud bindings.
Already shared, identical here
bin/omarchy-handoff, systemd/user/lan-mouse.service and
systemd/user/voxtype.service match the shared copies byte for byte.
handoff/config/config.toml.example-air covers this machine's lan-mouse config;
the live file differs only because the daemon strips comments.
Not captured, on purpose
- Themes and plugins. None are installed here.
~/.config/omarchy/plugins/is empty, so the sharedthemes/andplugins.txtwould be new on this machine rather than a conflict. - Packages. Nothing here was added to
packages.txt. Beyond the shared list, air's explicit packages are almost all the Asahi baseline that Omarchy's installer provides (linux-asahi,m1n1,uboot-asahi,asahi-*,vulkan-asahi,speakersafetyd, ...). The ones added by hand areobsidian-appimage,wf-recorder,omarchy-steam-fexanddotnet-runtime-2.1. Many shared entries are Intel/x86-only (intel-ucode,vulkan-intel,lib32-*,linux-omarchy,sof-firmware,thermald) and some are x86-only AUR binaries (visual-studio-code-bin,hyprmoncfg-bin,netbird-bin,1password), so do not runinstall.sh packageshere as-is. ~/.local/bintooling (kubectl, helm, tofu, opencode, op, the agent CLIs, ...) and~/.config/dotfiles/*.envcome from the separate~/.dotfilesbootstrap, not Omarchy, and the env files hold secrets.- Omarchy's own post-update invitation hooks,
omarchy-asahi-mic.serviceand the otheromarchy-*user units are all installer-provided. - Chromium
Preferencesis runtime state, not configuration.
Running the scripts here
./install.sh --dry-run config system is safe. It would bring in the shared
terminal fonts, hyprland.lua, autostart.lua, bindings.lua, shell.json,
shell.toml and the ARP sysctl, which are all the HP's customizations rather than
hardware settings. The hyprmoncfg include in hyprland.lua is guarded, so it
does nothing without the plugin.
On this host ./capture.sh refreshes only the overlay. Shared files are skipped
unless CAPTURE_SHARED=1, because otherwise air's stock copies would overwrite
the HP's customizations.