Files
omarchy-setup/hosts/omarchy-air/README.md
T
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

66 lines
4.1 KiB
Markdown

# 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.