Files
omarchy-setup/hosts/omarchy-air
noconnorandClaude Opus 5.5 e1e5f05876 Capture omarchy-air's customizations as a per-host overlay
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
2026-10-16 15:49:19 -04:00
..

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 shared themes/ and plugins.txt would 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 are obsidian-appimage, wf-recorder, omarchy-steam-fex and dotnet-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 run install.sh packages here as-is.
  • ~/.local/bin tooling (kubectl, helm, tofu, opencode, op, the agent CLIs, ...) and ~/.config/dotfiles/*.env come from the separate ~/.dotfiles bootstrap, not Omarchy, and the env files hold secrets.
  • Omarchy's own post-update invitation hooks, omarchy-asahi-mic.service and the other omarchy-* user units are all installer-provided.
  • Chromium Preferences is 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.