Commit graph

10 commits

Author SHA1 Message Date
123kupola
f1dd03da0a feat: ground-up .bashrc rewrite — sudo→mdo alias, ZFS safety (Sam & Hermes)
- shell-system.sh (runs last, step 6): rewrite .profile with agent launcher,
  full .bashrc with sudo() shell function that fire-and-forget snapshots
  zroot@cli-<ts> before mdo -u root. PATH, prompt, history, aliases (ll/la/lt).
  Agent fallback for non-login shells via ~/.ssh-agent-env.
- shell-ssh.sh (step 4): strip to ~/.ssh/config only. Agent/profile/tmux
  seeding moved to shell-system.sh so it is not overwritten.
- AGENTS.md: document sudo→mdo decision with rationale table (ISO size,
  audit surface, single privilege path, ZFS rollback safety).
2026-06-04 20:04:23 +02:00
b163cf1014 Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00
71878992fe Bundle current pi package and enable evdev 2026-06-04 20:04:23 +02:00
389cab3aa2 Make ISO build PATH independent 2026-06-04 20:04:23 +02:00
904dd58373 Enable mac_do framework during bootstrap (Codex)
Configure FreeBSD 15 installs to load mac_do with an empty rule set for future narrowly scoped UID transitions.
2026-06-04 20:04:22 +02:00
c0bd59cf0b Set locale/keymap defaults and move npm globals to /opt 2026-06-04 20:04:22 +02:00
c3599469e0 feat: rename cloud→vps, fix domain naming (Sam & Claude)
Breaking changes:
- --target cloud renamed to --target vps
- Default domain changed from "home.arpa" to "${agentname}.home.arpa"

Changes:
- build.cfg: TARGET="vps" (was cloud)
- build.sh: --target vps, error messages updated
- firstboot.sh: AGENT_DOMAIN defaults to ${agentname}.home.arpa
- vps/firstboot-vps.sh: TARGET=vps
- Rename cloud-path-test.sh → vps-path-test.sh
- Update integration-test.sh: clawdie.home.arpa
- Update MODULE-MANIFEST.md, shell-system.sh examples
- Update BUILD.md: "VPS target" (was "VPS/cloud target")

Why:
- "vps" is more precise than "cloud" (VPS != always cloud)
- ${agentname}.home.arpa follows mDNS standard
- .local collides with mDNS (as noted in shell-env.sh)

Migration: Update build scripts from --target cloud to --target vps
2026-06-04 20:04:22 +02:00
18586d3f09 Harden firstboot scripts: POSIX fixes, quoting, offline pkg path
- shell-system.sh: exit → return in sourced module (would kill firstboot)
- maintenance-mode.sh: replace bash += with POSIX concat, fix subshell
  scope in pipe-to-while-read (vdev_status/failed_disks were always
  empty), quote all $POOL_NAME and $disk expansions
- build-vps.sh: portable _sed_i() wrapper for FreeBSD/Linux
- firstboot.sh: set -eu; set USB_PKG_PATH to SHARE/packages so offline
  package repo works after HDD boot (was defaulting to /mnt/media)
- firstboot-vps.sh: remove plaintext password log, check loader.efi
  exists before EFI copy

Integration test: PASS (7/7 modules)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 20:04:22 +02:00
d2513243e4 firstboot: Add shell-ssh.sh module and restore shell-system.sh
- Create new shell-ssh.sh module for SSH key installation and password setup
  * Install SSH public keys to authorized_keys (root + clawdie)
  * Configure sshd: disable password auth if key provided, enable if not
  * Set system user passwords (auto-generate or use provided)
  * Save emergency root password to root/.firstboot-emergency-password
- Restore shell-system.sh (was accidentally overwritten during rename)

Enables secure SSH-key-first access with password fallback.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-04 20:04:21 +02:00
954dcebee2 refactor: Rename clawdie-shell-*.sh to shell-*.sh (remove redundant prefix)
- Rename all modules: clawdie-shell-{func}.sh → shell-{func}.sh
- Update references in firstboot.sh and installerconfig
- Update self-detection case statements in each module
- Reduces naming redundancy and improves clarity

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-04 20:04:21 +02:00
Renamed from firstboot/test-clawdie-shell-system.sh (Browse further)