Commit graph

7 commits

Author SHA1 Message Date
023b9394d3 omalocal: track upstream OMATERM installer, fix first-login tmux + Once
Brings the first-login server setup back to fully working on a fresh install:

- OMATERM: call install-native.sh directly. omaterm.org/install is now an
  interactive native/docker dispatcher that would stall the unattended
  first-run; the native branch is what a headless Arch box wants. Verified the
  closing `exec bash -l` and bundled AI agents (mise.packages) still hold.

- Rebrand the user-facing "OMATERM + Once" headline to "omalocal" (banner,
  setup prompt, closing reboot message); body still names the installed tools.

- Fix tmux "can't use /dev/tty" on first login. OMATERM's installer closes with
  `exec bash -l </dev/tty >/dev/tty 2>&1`; with fds on /dev/tty, tmux's client
  ttyname is the literal "/dev/tty", which tmux's server_client_open refuses.
  Strip that redirect from the downloaded installer and run it without
  redirecting our stdin, so the closing shell inherits the login pts
  (/dev/pts/N) — which tmux accepts. (script(1) did not work: OMATERM
  re-redirects to /dev/tty after it.)

- Fix Once not installing. Once installs before OMATERM (which used to provide
  Docker); Once requires Docker and can't install it on Arch (get.docker.com is
  unsupported there). Provision Docker in base: pacstrap docker, enable
  docker.service in the chroot, and add the install user to the docker group at
  install time, so the first-run Once install finds a running daemon and
  once/once-add need no sudo. OMATERM's later docker setup no-ops.

- gitignore dated build-*.log files.

Full chain confirmed working on a clean install: Welcome to omalocal -> Once
installs -> Omarchy-Send (optional) -> OMATERM -> lands in tmux.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 13:29:29 +01:00
b1af2fe02d omarchy-send: agentic generator mode + document the PIN-gated agentic toggle
The reply generator now branches on OMARCHY_AGENTIC (set by omarchy-send):
reply-only (no tools) by default, or agentic (claude with its tools, to act on
the box then report) when the Settings agentic toggle is on. SKILL.md documents
the agentic toggle (g), that it's off by default and may only be enabled with a
PIN set (which gates who can trigger remote command execution), and to keep it
to a trusted LAN.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 15:33:00 +01:00
1d43f3a69b omarchy-send: ship AI reply generator + seed ReplyCmd; document the Settings toggle
omarchy-send gained a built-in "AI auto-reply" toggle (Settings tab), so the
installer no longer ships an omarchy-send-ai wrapper. Instead:

- Install ~/.local/bin/omarchy-send-reply: a reply *generator* that gets the
  message in OMARCHY_MSG_* env and prints a short reply via the local claude CLI
  (resolved from PATH or mise). Reply-only: --tools "" means it can't act on a
  message; --permission-mode bypassPermissions avoids the first-run trust hang.
- Seed ~/.config/omarchy-send/config.json with replyCmd pointing at the
  generator via $HOME (no username baked in); omarchy-send fills the rest on
  first run. AutoReply stays off until the user flips it in Settings.
- SKILL.md / CLAUDE.md: document the message log (~/.local/state/.../messages.jsonl),
  the "receive only while the TUI is open" model, reply-by-ip/fingerprint, and the
  AI auto-reply Settings toggle; instruct the agent to use the toggle rather than
  build poll-loops or daemons.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 15:12:29 +01:00
3cb0c3e0ed firstrun: track omaterm install changes — drop redundant AI-agent step, run OMATERM last
omaterm.org/install now installs the AI agents itself (node/opencode/
claude-code/codex/gemini are in its mise.packages) and its installer ends
with `exec bash -l`, which re-sources ~/.bash_profile.

- Remove our now-redundant "Install AI agents via mise" prompt and its
  stale comment (omaterm provides them).
- Guard against the re-sourced .bash_profile re-firing the welcome: the
  firstrun script removes itself up-front, so the one-shot stays one-shot.
- Reorder so OMATERM runs last (Once + Omarchy-Send first), since its
  `exec bash -l` hijacks the shell and drops the user into their session.
- Update welcome banner + in-script docs to list the bundled AI agents
  and the new ordering. Also gitignore build.log.

Verified: pty-backed logic harness (ordering, one-shot, no recursion) and
a full VM boot of the rebuilt ISO (welcome + Once-first + clean no-recursion
shell on omaterm's failure path).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 15:54:53 +01:00
ac6f23ded5 skill: document omarchy-send v0.1.6 headless send + notifications
The baked omalocal-server skill (SKILL.md) and CLAUDE.md now cover the
v0.1.6 additions:
- Headless one-shot message send (--to/--message, no TTY) — usable from
  scripts/cron/ssh on this headless box to ping a desktop or phone.
- Desktop notifications: noted as a no-op here (self-disables without a
  session bus); relevant for the desktop side that receives from this box.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 14:47:22 +01:00
30333acccb firstrun: put mise-installed AI agents on PATH via profile.d shims
Add /etc/profile.d/mise-shims.sh so globally-installed mise tools
(claude, codex, opencode, gemini, node) are runnable from any login
shell — including non-interactive `ssh host <cmd>` — without relying on
`mise activate` in dotfiles. Run `mise reshim` after the agent install
so the shims exist, and install node@latest first since gemini-cli is
npm-based.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 07:51:03 +01:00
6a43bad3dd Rename project omaterm-iso -> omalocal
Avoids the namespace collision with the official OMATERM toolkit
(omaterm.org). Renamed our own identity strings only; genuine
references to the OMATERM toolkit it bootstraps are left intact.

- script omaterm-iso.sh -> omalocal.sh; dir -> ~/Projects/omalocal
- output ISO omaterm-arch-*.iso -> omalocal-arch-*.iso (+ discovery glob)
- first-run mechanism: .omalocal-firstrun.sh, OMALOCAL_FIRSTRUN /
  OMALOCAL_PROFILE_HOOK heredoc tags, comments
- embedded Claude skill omaterm-server -> omalocal-server

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-28 22:06:50 +01:00
Renamed from omaterm-iso.sh (Browse further)