Commit graph

13 commits

Author SHA1 Message Date
f280e8a5f7 Pin OMATERM/omadots to native-frozen forks (upstream went Docker-only)
Upstream omacom-io/omaterm deleted the native install path on 2026-06-01
and went Docker-only (omaterm.org/install now installs Docker + a container
launcher). That would split this headless box into a host (Once/once-add/
omarchy-send) and a container (agents) with the baked CLAUDE.md/skill unseen
by an in-container agent.

Instead, keep the unified-host native install by sourcing OMATERM from a
pinned fork:
- All 7 install-native.sh URLs -> 28allday/omaterm @native-frozen
  (self-consistent: its setup_git_checkout clones the same frozen branch).
- dotfiles pinned via 28allday/omadots @native-frozen.
- Native first-login flow unchanged (mktemp + /dev/tty sed + exec bash -l
  OMATERM-last closer); only the source moved off the deleted upstream path.
- AI agents still come live from mise, so they stay current.

Updated the rationale comment, baked CLAUDE.md, and README fork disclosure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 21:22:26 +01:00
9d3b7b9809 Drop redundant id_rsa fallback comment
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:54:46 +01:00
8766418233 skill/CLAUDE.md: correct omarchy-send TUI tab order (Manage before Messages)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:52:05 +01:00
4a24fade37 omalocal: genericize personal device aliases in omarchy-send examples
Replace the real machine names used as examples ("Slate Starburst",
"Gold Cluster") with neutral placeholders ("My Desktop", "My Server").
This script ships to third parties, so the baked skill/CLAUDE.md docs
shouldn't carry the maintainer's personal LAN device names.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:44:45 +01:00
fea046ab3d omalocal: update baked Claude context for the omalocal-server skill
Two changes to the host conventions baked into provisioned boxes:

- CLAUDE.md: add a "custom-image deploy" section covering how to get a
  locally-built image onto Once as a .local app without root — registry:2
  on 127.0.0.1:5000 (Once always docker-pulls), then deploy against
  localhost and `once update localhost --host <name>.local` to skip the
  re-verification that would need the /etc/hosts sudo edit. Plus the /up
  200 health probe, the remove->deploy->update redeploy dance, and the
  nginx {n,} quantifier parse gotcha.

- Skill: drop Once's upstream AGENTS.md (kamal-proxy architecture, Go
  build/style, "don't make commits"). That's about hacking on the Once
  codebase, not operating this host — noise in a host-admin skill. The
  skill now ships only SKILL.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:33:36 +01:00
f66b62c551 skill: trim baked omarchy-send docs to the live release; drop dead reply plumbing
The installer pulls omarchy-send from its public `main` (live release e66662f),
which has headless send (--to/--message/--send-pin/--wait), TUI messaging, and
desktop notifications — but NOT the message log, AI auto-reply, agentic mode, or
--to-ip/--to-fingerprint reply flags (those are unreleased). The baked SKILL.md
and CLAUDE.md were documenting the unreleased features, over-promising on a real
install.

- SKILL.md: remove the messages.jsonl log section, the AI auto-reply + agentic
  sections, and the --to-ip/--to-fingerprint examples; keep TUI, headless send,
  notifications.
- CLAUDE.md: drop the JSONL log + auto-reply paragraph; messages show in the TUI
  Messages tab (no on-disk log).
- Installer: remove the ~/.local/bin/omarchy-send-reply generator and the
  config.json replyCmd seed (live ignores replyCmd; dead plumbing). The
  ~/.config chown fix goes too — nothing creates ~/.config/~/.local as root
  during install anymore (OMATERM creates them as the user).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 13:44:38 +01:00
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)