Commit Graph
92 Commits
Author SHA1 Message Date
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
Ryan HughesandDavid Heinemeier Hansson f4b6222c1c Preserve firmware with reuse + use local pacman cache if you have it (#28)
* Keep firmware vars too if we run as reuse

* Leverage local cache for faster builds if we have it

* Convenience

* Also set the URL

* Normally do want boot

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-30 08:37:37 +02:00
David Heinemeier Hansson d70b94ecd1 Normally do want boot 2025-08-28 17:24:11 +02:00
David Heinemeier Hansson abada98cd1 Also set the URL 2025-08-28 17:20:36 +02:00
David Heinemeier Hansson 55cafe60dc Convenience 2025-08-28 17:20:27 +02:00
David Heinemeier Hansson a58c65a241 Streamline process for pushing both master and dev ISOs 2025-08-28 10:24:37 +02:00
David Heinemeier Hansson 5d2ef89e3a Make it possible to change the installer URL 2025-08-28 08:57:45 +02:00
David Heinemeier Hansson 58c5c3d820 Need the script name 2025-08-27 12:05:31 +02:00
David Heinemeier Hansson 720c2ba5c9 Leave this out for now 2025-08-27 12:04:15 +02:00