Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Hughes c50d0bc299 Unify ISO install orchestration
Drive installs through the common ISO pipeline, carry install intent in configurator JSON, and finalize Limine boot setup from the ISO.
2026-05-25 12:50:31 -04:00
Ryan Hughes 38f56103e1 builder: add debug install instrumentation 2026-05-23 12:45:12 -04:00
Ryan Hughes 6232620806 installer: unify finalizer logging 2026-05-23 10:21:38 -04:00
Ryan Hughes 8d1d3c906d installer: harden dashboard finish transition 2026-05-23 10:02:36 -04:00
Ryan Hughes fd12ace8bc installer: tolerate missing duration on finish 2026-05-23 05:29:53 -04:00
Ryan Hughes 1d656af51d installer: make dashboard own install flow 2026-05-23 04:50:32 -04:00
Ryan Hughes 337ba2e590 installer: show dashboard during ISO install 2026-05-22 17:34:01 -04:00
Ryan Hughes 8dad5a7436 omarchy-iso-make: lint that executable airootfs files have file_permissions entries 2026-05-21 18:44:09 -04:00
Ryan Hughes 874e6cd24d Cache ISO mirror by channel instead of by date
The previous per-day cache (iso_YYYY-MM-DD) forced a fresh ~6GB download
on the first build of every day. Different channels (stable/edge/rc)
HAVE different package sets and shouldn't share a cache, but different
DAYS within a channel don't, so keying by channel gives us a stable
cache that persists indefinitely.

omarchy* packages always rebuild fresh inside the container regardless:
build-omarchy-packages.sh nukes /tmp/omarchy-pkg-build at the start
and the final mv overwrites the cached .pkg.tar.zst (pkgver is constant).
--no-cache still bypasses the mount entirely for a clean-slate run.
2026-05-20 23:43:37 -04:00
Ryan Hughes b34f53629d Validate --local-source paths before any sudo work
Also includes the build-iso.sh cleanup that I prepared earlier but
forgot to stage (replacing the inline ugly $(...) conditional pipe
with a normal if/then-fi block).
2026-05-20 21:36:31 -04:00
Ryan Hughes e427304f29 Make --local-source require explicit checkout paths
Dropped the sibling-dir convention ($BUILD_ROOT/../omarchy-installer
etc.). Callers now pass paths explicitly:

  omarchy-iso-make --local-source <installer-checkout> <pkgs-checkout>

Errors clearly if either path is missing or doesn't exist.
2026-05-20 21:35:46 -04:00
Ryan Hughes b8df9d3f50 Make --local-source the opt-in; default to network omarchy mirror
The previous version made the local build the only path. Convention is
the opposite: omarchy-iso-make pulls released omarchy* packages from
the omacom-pkgs.org mirror by default, and only builds from local
checkouts when explicitly asked via --local-source.

- bin/omarchy-iso-make: only mount /omarchy-installer + /omarchy-pkgs
  when --local-source is set. Default has neither mount.
- builder/build-iso.sh: skip build-omarchy-packages.sh when no local
  source. Don't filter the omarchy* names out of the pacman -Syw list
  in network mode (so they get downloaded from the mirror). With
  --local-source, the four package names are stripped after assembly
  so we don't re-fetch what we just built.
- For the package-list source: with /omarchy-installer mounted, read
  omarchy-base.packages from the checkout. Without it, briefly pull
  the published omarchy package, extract the .packages files from it
  to /tmp, and use those.
2026-05-20 21:34:49 -04:00
Ryan Hughes 9f4e5feef0 Refactor ISO build for the package-backed install flow
The ISO no longer carries a cp -r'd copy of the omarchy git checkout
into /root/omarchy and the target /home/$user/.local/share/omarchy.
Instead it builds omarchy-installer + omarchy-settings + omarchy +
omarchy-limine from mounted source trees (${OMARCHY_INSTALLER_PATH:-
../omarchy-installer} and ${OMARCHY_PKGS_PATH:-../omarchy-pkgs}),
drops them in the offline mirror, and pacstraps omarchy-installer
during the target install — which deps-in the other three.

- builder/build-omarchy-packages.sh: new. Builds the four packages
  inside the ISO build container using each PKGBUILD's OMARCHY_SRC
  override (introduced in Chunk 2). Creates a 'builder' user because
  makepkg refuses to run as root. Drops the resulting .pkg.tar.zst
  files into the offline-mirror directory.

- builder/build-iso.sh: drop the git clone / -v omarchy mount path;
  call build-omarchy-packages.sh first; filter out the locally-built
  package names from the rest-of-mirror download so we don't try to
  fetch them from the network mirror.

- configs/airootfs/root/.automated_script.sh: replace the install_omarchy
  cp-and-source dance with 'arch-chroot pacman -S omarchy-installer'
  followed by 'OMARCHY_INSTALL_MODE=offline omarchy-install'. Drop the
  big chown/chmod block that was setting up the cloned tree.
  use_omarchy_helpers extracts the installer's helpers/ tree directly
  from the offline-mirror's omarchy-installer-*.pkg.tar.zst so the live
  ISO has access to gum-styled logging before pacstrap.

- bin/omarchy-iso-make: always mount omarchy-installer and omarchy-pkgs
  (paths configurable via OMARCHY_INSTALLER_PATH / OMARCHY_PKGS_PATH;
  default to ../omarchy-installer and ../omarchy-pkgs). --local-source
  is now a back-compat no-op.
2026-05-20 21:29:40 -04:00
David Heinemeier Hansson 01f393f10d Install without encryption (#79)
* Configurator tester

* Make it a dry run

* Offer a no-encryption install mode

* Fix SDDM login

* Simplify the flow by using ctrl-c to toggle into unencrypted mode
2026-05-07 12:03:11 +02:00
David Heinemeier Hansson ed4536cab4 Need to clear out old packages even just on regular make 2026-04-16 22:35:39 +02:00
David Heinemeier Hansson b341fa6eea Add --rc option 2026-04-16 16:10:50 +02:00
David Heinemeier Hansson f73062e156 Clear out packages that might conflict on build 2026-04-03 19:18:57 +02:00
David Heinemeier Hansson 72b7a1f245 Simplify the options here 2026-02-18 18:58:59 +01:00
David Heinemeier Hansson 6cd3702c27 Need bigger disk for testing 2026-02-05 16:45:53 +01:00
David Heinemeier Hansson 5ba771dc1b Prepare for making RC ISOs 2026-02-04 18:17:10 +01:00
David Heinemeier Hansson a202c81a0c Allow ISOs to be build against the edge mirror/package repository 2026-01-05 15:31:30 +01:00
David Heinemeier Hansson e5152cd7b2 Automatically add missing packages 2026-01-05 14:54:44 +01:00
Ryan Hughes e3cb89d712 Add missing steps for rclone setup 2025-12-16 15:12:41 -05:00
David Heinemeier Hansson 872c8fb03f Allow building the ISO from local source and replace dev build binstub with --dev 2025-11-11 08:47:04 +01:00
David Heinemeier Hansson 5c2d06c5fc Automate the rclone config 2025-11-10 14:01:25 +01:00
David Heinemeier Hansson 3afa6b63ff Update instructions 2025-11-09 09:30:47 +01:00
David Heinemeier Hansson 9e2d0ac204 Just focus release on the master iso 2025-10-28 08:40:48 +01:00
David Heinemeier Hansson c9f7b80d3d Output the SHAs 2025-10-28 08:38:48 +01:00
Ryan Hughes aa75d85d14 Add prompt to boot an iso 2025-10-27 17:04:10 -04:00
David Heinemeier Hansson b502d26326 Pass in the version instead for now 2025-10-19 09:35:43 +02:00
David Heinemeier Hansson e81016a476 Fix busted param 2025-10-19 09:34:13 +02:00
David Heinemeier Hansson 6fe6353185 Bump version
We should be pulling it dynamically from the repo!
2025-10-19 09:30:09 +02:00
Ryan Hughes 220dbda602 Add omarchy-vm 2025-10-08 21:16:51 -04:00
Ryan Hughes 8f844655b7 Fix ownership issues 2025-10-08 20:42:06 -04:00
Ryan Hughes 5adefedad2 Add ability to ssh into client + easier boot menu access 2025-09-21 23:46:18 -04:00
David Heinemeier Hansson a88b8a2e7a Versioned releases 2025-09-17 20:38:47 +02:00
David Heinemeier Hansson 194dbbef33 If there's a sig 2025-09-15 21:12:16 +02:00
David Heinemeier Hansson a57aaec4b8 It'll just be straight offline ISOs 2025-09-13 21:33:04 +02:00
David Heinemeier Hansson 9d9bd79120 No longer needing URL 2025-09-13 21:32:44 +02:00
David Heinemeier Hansson 27c64f7a72 No longer relevant 2025-09-13 20:59:19 +02:00
David Heinemeier Hansson 89063e4fee Shorter 2025-09-13 19:12:12 +02:00
David Heinemeier Hansson d9d8dc50c6 No longer used 2025-09-13 19:10:38 +02:00
David Heinemeier Hansson 045db5b028 Inline the configurator 2025-09-13 18:39:45 +02:00
David Heinemeier Hansson 2427a177f5 Yank out the online builder option
Offline is the way
2025-09-13 18:23:31 +02:00
Ryan Hughes 657011cc20 Unify builds 2025-09-12 00:48:58 -04:00
Ryan Hughes 6b3f0cdc27 Overwrite the file 2025-09-12 00:48:41 -04:00
Ryan Hughes ea707f677d Rearrange and simplify ISO setup 2025-09-12 00:48:41 -04:00
Ryan Hughes 22988b2f3b Remove redundant cache mount 2025-09-12 00:48:41 -04:00
Ryan Hughes 3f64ac5656 Name cache dir appropriately 2025-09-12 00:48:41 -04:00
Ryan Hughes c089a3b6f7 Tons of tweaks to reach working v1 2025-09-12 00:48:41 -04:00