NeilClack
05bb98b107
Enable live app updater on production variants
...
Build Dev ISOs / build-dev-android (push) Canceled after 0s
Build Dev ISOs / build-dev-commercial (push) Canceled after 0s
Build Dev ISOs / build-dev-kiosk (push) Canceled after 1m10s
All variants now follow the same update procedure as the dev flakes;
prod variants pull the RadiantWave binary, Attic repo, and manifest
from the radiantwave channel instead of radiantwave-dev.
2026-08-28 16:37:13 -05:00
NeilClack
ca89c234ab
Fix updater timer not re-arming after first run
...
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m32s
Build Dev ISOs / build-dev-commercial (push) Successful in 5m4s
Build Dev ISOs / build-dev-android (push) Successful in 5m28s
RemainAfterExit=true kept the oneshot 'active' forever, which broke the
timer's OnUnitActiveSec re-arming: the timer fired once (NEXT emptied,
Trigger n/a) and never polled again. Remove it so the service returns to
dead and the 2-min cadence keeps firing.
2026-08-28 15:59:23 -05:00
NeilClack
9a8a258228
GC-root the fetched radiantwave closure
...
Build Dev ISOs / build-dev-kiosk (push) Canceled after 0s
Build Dev ISOs / build-dev-android (push) Canceled after 0s
Build Dev ISOs / build-dev-commercial (push) Canceled after 0s
nix-store -r was fetching the closure without --add-root, so the swapped-in
app pointer wasn't a GC root and the running closure could be collected.
Pin it with --add-root .current-root, and root the already-current closure
on the no-op path too.
2026-08-28 15:30:20 -05:00
NeilClack
7d8cc56ba0
Fetch updater closures from cache.nixos.org as well as Attic
...
Build Dev ISOs / build-dev-kiosk (push) Successful in 5m1s
Build Dev ISOs / build-dev-android (push) Successful in 4m44s
Build Dev ISOs / build-dev-commercial (push) Canceled after 2m31s
nix copy --from <attic> only pulls from that single store, so nixpkgs
deps (e.g. sqlite) that Attic skips and leaves on cache.nixos.org were
missing -> 'path is not valid'. Realize the closure through the machine's
substituters so the app comes from the dev Attic and its upstream deps
resolve from cache.nixos.org, without building from source.
2026-08-28 15:25:04 -05:00
NeilClack
e44626feec
Update RadiantWave a9087f2
Build Dev ISOs / build-dev-kiosk (push) Successful in 5m38s
Build Dev ISOs / build-dev-android (push) Successful in 5m21s
Build Dev ISOs / build-dev-commercial (push) Successful in 5m38s
2026-08-28 13:55:59 -05:00
NeilClack
48c31d0f0c
Move home systems to first build slot
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m56s
Build Dev ISOs / build-dev-android (push) Successful in 4m45s
Build Dev ISOs / build-dev-commercial (push) Successful in 5m10s
2026-08-27 21:26:45 -05:00
NeilClack
d661162676
Add live RadiantWave updater (dev variants)
...
Build Dev ISOs / build-dev-android (push) Successful in 1m48s
Build Dev ISOs / build-dev-kiosk (push) Successful in 1m37s
Build Dev ISOs / build-dev-commercial (push) Successful in 1m46s
Add a radiantwave-updater NixOS module that polls a manifest on the
fileserver and swaps the app pointer /var/lib/radiantwave/current to new
closures fetched from the dev Attic cache. Closures are fetched with
'nix copy --from', never built from source; the swap is atomic via
mv -T.
Enable it on the -dev variants only for now: the login shell launches
from /var/lib/radiantwave/current/bin/radiantwave when enabled, and from
the immutable system path otherwise, so prod behavior is unchanged. The
pointer is seeded on first boot to the baseline copy already baked into
the closure (no duplication).
2026-08-27 20:58:07 -05:00
NeilClack
b8d0f59c0a
Remove EDID overwrite
Build Dev ISOs / build-dev-android (push) Successful in 4m50s
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m49s
Build Dev ISOs / build-dev-commercial (push) Successful in 4m45s
2026-08-26 12:30:36 -05:00
NeilClack
4e36113636
Disable EDID Override
Build Dev ISOs / build-dev-android (push) Successful in 4m53s
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m51s
Build Dev ISOs / build-dev-commercial (push) Successful in 4m45s
2026-08-26 11:38:17 -05:00
NeilClack
2bf762acac
Add actual EDID from Android Kiosk
Build Dev ISOs / build-dev-android (push) Successful in 5m5s
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m56s
Build Dev ISOs / build-dev-commercial (push) Successful in 4m53s
2026-08-26 10:12:45 -05:00
NeilClack
46a61a8397
Remove HDMI-A-1
...
Build Dev ISOs / build-dev-commercial (push) Successful in 4m17s
Build Dev ISOs / build-dev-android (push) Successful in 4m23s
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m56s
HDMI-A-1 refers to the HDMI port closest to the power cable.
In all models, we end up connecting HDMI to port 2.
HDMI-A-1 was likely taking over, becuase it suddenly had a valid
EDID assigned, indicating 'a monitor is connected here'
2026-08-25 22:26:00 -05:00
NeilClack
c1ad4a9767
Remove archive steps...
Build Dev ISOs / build-dev-android (push) Successful in 4m41s
Build Dev ISOs / build-dev-kiosk (push) Successful in 4m34s
Build Dev ISOs / build-dev-commercial (push) Successful in 5m6s
2026-08-25 21:49:09 -05:00
NeilClack
47dc7b8964
Update dev builds to build each -dev variant
Build Dev ISOs / build-dev-kiosk (push) Failing after 3m18s
Build Dev ISOs / build-dev-android (push) Canceled after 0s
Build Dev ISOs / build-dev-commercial (push) Canceled after 2m20s
2026-08-25 21:43:20 -05:00
NeilClack
dfa7320a37
Test 1 - EDID Spoofing for Android 4K
Build Dev ISO / build-dev-iso (push) Canceled after 2m40s
2026-08-25 21:40:56 -05:00
NeilClack
87fca854f4
Update radiantwave - rotated
Build Dev ISO / build-dev-iso (push) Successful in 4m13s
2026-08-25 11:31:56 -05:00
NeilClack
c8298a128f
Update Radiantwave 1.3
...
Build Dev ISO / build-dev-iso (push) Successful in 4m38s
Stretch scroller screen on vertical displays. Test 1
2026-08-25 11:00:28 -05:00
NeilClack
036c437430
Update RadiantWave 1.2
Build Dev ISO / build-dev-iso (push) Successful in 4m31s
2026-08-25 10:33:59 -05:00
NeilClack
8775fcfb24
Update workflows to run automatically on push to main
Build Dev ISO / build-dev-iso (push) Canceled after 0s
2026-08-25 08:09:26 -05:00
NeilClack
f900585702
Update Radiantwave 1.2
Build Dev ISO / build-dev-iso (push) Successful in 4m51s
2026-08-25 08:01:13 -05:00
NeilClack
16b8e3aeb9
Update Radiantwave 1.1
Build Dev ISO / build-dev-iso (push) Failing after 3m37s
2026-08-25 06:59:10 -05:00
NeilClack
45b4d7aa95
Update radiantwave
Build Dev ISO / build-dev-iso (push) Successful in 4m21s
2026-08-23 21:20:38 -05:00
NeilClack
bd9146e641
Allow kiosk to restart getty@tty1 via scoped polkit rule
...
Build Dev ISO / build-dev-iso (push) Successful in 4m23s
The RadiantWave app can now apply pending updates by restarting its own
TTY session (plain systemctl, no sudo): getty re-autologins kiosk and
the login shell relaunches cage + app from the new generation.
Also drop the cleanRadiantFiles activation script.
2026-08-23 17:54:01 -05:00
NeilClack
9b0036b4da
Update RadiantWave ef723b2
Build Dev ISO / build-dev-iso (push) Successful in 4m48s
2026-08-23 17:33:57 -05:00
NeilClack
d26cec2a53
fix: broken whitespace guard in archive-images.sh
...
Build Dev ISO / build-dev-iso (push) Successful in 4m19s
The case bracket expression [\ space\'\"] listed the letters s,p,a,c,e
as a character set instead of matching whitespace, rejecting every normal
path. Use the POSIX [[:space:]] class.
2026-08-23 15:55:05 -05:00
NeilClack
2e862c13a8
fix: replace fragile ssh archive one-liners with tools/archive-images.sh
...
Build Dev ISO / build-dev-iso (push) Failing after 3m18s
The inline find -exec broke through the double shell hop (the remote
shell consumed the ; separator). The script pipes its payload to remote
bash via stdin, tolerates zero matches, and fails loudly on missing
directories or failed moves.
2026-08-23 15:45:11 -05:00
NeilClack
84ec13b1f9
ci: restore dev ISO workflow, auto-build on dev push, use Attic
Build Dev ISO / build-dev-iso (push) Failing after 3m19s
2026-08-23 15:22:34 -05:00
NeilClack
588f0e4aa1
ci: pull closures from Attic caches in prod builds
2026-08-23 15:22:34 -05:00
NeilClack
46384e6cf7
Fix attic upload
build-dev / nix-build (push) Failing after 1s
2026-08-23 15:07:22 -05:00
NeilClack
6951d35310
fix: make manual dev checkout work (fetch all branch tips, drop bad cd)
2026-08-23 14:53:32 -05:00
NeilClack
7778da3867
fix: tolerate empty archive globs; clone dispatched ref in dev workflow
2026-08-23 14:49:44 -05:00
NeilClack
59e9f7ce29
Update RadiantWave and add Attic cache
2026-08-23 14:18:48 -05:00
NeilClack
3ec72c8479
Bring radiantwave up to date + dev
2026-08-23 11:24:47 -05:00
NeilClack
20d91df9eb
Revert RadiantWave for testing the new update configuration
2026-08-23 11:23:21 -05:00
NeilClack
65a6b256f9
Fix dev/prod split and dev ISOs; consolidate zero-touch installer
...
- Wire -dev variants to the radiantwave-dev input (?ref=dev); prod keeps main
- Fix android-dev upgradeFlakeRef (was upgrading into production config)
- Parameterize one installer module (zero-touch-installer.nix); replace the
four near-duplicate ISO configs; mkIso pairs each ISO with its closure +
disk layout, fixing commercial-dev/android-dev ISO eval errors
- Add missing packages outputs (commercial-dev, android-dev, rpi, rpi-dev)
- Set networking.hostName + system.configurationRevision per variant
- Remove gitea access token and dead netrc/JWT config (repos are public)
- Drop flake.lock update step from CI (lock updates are manual)
- Refresh AGENTS.md: variants/ISO tables, facter report procedure, gotchas
2026-08-23 09:58:46 -05:00
NeilClack
64b2a9cfc4
Shrink splash screen
2026-08-23 08:20:10 -05:00
NeilClack
875f3da03d
Add tools
2026-08-22 17:07:54 -05:00
NeilClack
9965e30152
Fix git urls
2026-08-22 17:07:47 -05:00
NeilClack
a01c3d5521
Update RadiantWave
2026-08-22 16:29:56 -05:00
NeilClack
33c9ceefb0
Update RadiantWave
...
Enables the naming of audio files by editing audio file names in new_checksums.md5
2026-08-21 10:04:40 -05:00
NeilClack
c9743de7bb
Update RadiantWave
2026-08-21 09:54:11 -05:00
NeilClack
6ddf004e95
Update RadiantWave to remove WiFi Gate
2026-08-18 23:39:22 -04:00
NeilClack
439e646170
Remove archive command
2026-08-18 23:02:32 -04:00
NeilClack
f8cb1746af
Release RadiantWave (C++)
2026-08-18 04:44:58 -05:00
NeilClack
a4f4d17d6e
Add archive step to prod workflows; rename radiantwave-iso to radiantwave-home
2026-08-17 22:51:11 -05:00
NeilClack
e7a5ffa290
Update Radiantwave to ec6b766
2026-08-17 22:47:16 -05:00
NeilClack
553b06ea92
Fix closure naming'
2026-08-17 22:45:18 -05:00
NeilClack
8e8da490e4
Update radiantwave reference and add dev variants to all images
2026-08-17 22:44:14 -05:00
NeilClack
75cce42de5
Add cleanup command for fileserver
2026-08-17 22:23:37 -05:00
NeilClack
572ab76100
Add name
2026-08-17 22:13:01 -05:00
NeilClack
d37c794be4
Fix repository pointers
2026-08-17 22:08:47 -05:00
NeilClack
b26081046e
Update RadiantWave
build-dev.yml / update-and-build (push) Canceled after 0s
2026-08-17 21:35:20 -05:00
NeilClack
87367dab04
Temporarily remove healthcheck
...
build-dev.yml / update-and-build (push) Canceled after 1m40s
Healthcheck may be failing for reasons not related to a bad binary, preventing a good binary from booting.
2026-08-17 19:53:06 -05:00
NeilClack
0a35c97379
Remove user password
2026-08-17 19:49:15 -05:00
NeilClack
2fb99175f7
Re-size Plymouth image to 1920x1080
2026-08-17 19:49:01 -05:00
NeilClack
02cde0fabb
fix: wait for Wayland compositor before rotating display, add logging
build-dev.yml / update-and-build (push) Canceled after 0s
2026-08-17 14:00:14 -05:00
NeilClack
143119477f
ci: split prod builds into separate manually-triggered workflows
build-dev.yml / update-and-build (push) Canceled after 3m26s
2026-08-17 13:57:14 -05:00
NeilClack
b584016db2
Remove unused build steps
2026-08-17 13:36:37 -05:00
NeilClack
e09758a70e
fix: switch radiantwave inputs to SSH for legacy Go repo
build-dev.yml / update-and-build (push) Failing after 4m9s
2026-08-17 12:54:06 -05:00
NeilClack
14463ad99b
Just make RadiantWave-Legacy public
...
build-dev.yml / update-and-build (push) Failing after 9s
For now, to get builds working.
2026-08-17 12:52:11 -05:00
NeilClack
027d1a628f
Update token
build-dev.yml / update-and-build (push) Failing after 8s
2026-08-17 12:50:20 -05:00
NeilClack
fb2f861258
Revert back to Legacy Radiant Wave
build-dev.yml / update-and-build (push) Failing after 10s
2026-08-17 12:48:22 -05:00
NeilClack
974a610518
Update dev images to new radiantwave
build-dev.yml / update-and-build (push) Failing after 4m34s
2026-08-17 12:43:57 -05:00
NeilClack
c71b5ebc84
fix: use SSH clone instead of actions/checkout
build-dev.yml / update-and-build (push) Failing after 3m12s
2026-08-17 12:18:31 -05:00
NeilClack
6656c44de4
fix: disable persist-credentials on checkout (public repo)
build-dev.yml / update-and-build (push) Failing after 28s
2026-08-17 12:17:34 -05:00
NeilClack
2788d27fdc
fix: remove checkout token (repo is public)
build-dev.yml / update-and-build (push) Failing after 32s
2026-08-17 12:13:59 -05:00
NeilClack
72a564c9ef
fix: add checkout token, adjust workflow triggers
build-dev.yml / update-and-build (push) Failing after 1s
2026-08-17 12:13:40 -05:00
NeilClack
2185792cf4
fix: use actions/checkout@v4 (v6 does not exist)
build-prod.yml / update-and-build (push) Canceled after 16s
2026-08-17 12:11:58 -05:00
NeilClack
3b9c501aa8
Fix actions URLs
build-prod.yml / update-and-build (push) Canceled after 6s
2026-08-17 12:07:10 -05:00
NeilClack
2abdfa2b9b
revert upgradeFlakeRef URLs to KioskConfig to match renamed repo
build-prod.yml / update-and-build (push) Canceled after 0s
2026-08-17 11:02:19 -05:00
NeilClack
0cb1337f18
add radiantwave-legacy input with auth token, update flake.lock
2026-08-17 10:57:16 -05:00
NeilClack
50176d8fd5
repoint production to radiantwave-legacy, dev to radiantwave (ref=main)
...
- Replace radiantwave-dev input with radiantwave-legacy
- Production configs (kiosk, commercial, android, rpi) now use radiantwave-legacy
- Dev configs (kiosk-dev, commercial-dev, rpi-dev) now use radiantwave (ref=main)
- Fix KioskConfig -> kioskconfig case mismatch in all upgradeFlakeRef URLs
2026-08-17 10:51:05 -05:00
NeilClack
06c2a7cd0a
Add plan to migrate to DRM
build-prod.yml / update-and-build (push) Canceled after 0s
2026-08-17 10:44:36 -05:00
NeilClack
240be2540f
Update Radiantwave
build-prod.yml / update-and-build (push) Canceled after 0s
2026-08-08 01:44:03 -05:00
NeilClack
e3120f27c2
Pull back from radiantwave-cpp-dev to radiantwave-dev
2026-08-08 00:02:09 -05:00
NeilClack
8abb028c82
fix wpctl volume pinning
2026-08-07 23:58:25 -05:00
NeilClack
1e0380a8c4
remove automated builds, favoring intentional builds
2026-08-07 23:58:02 -05:00
NeilClack
4580319f19
Update radiantwave-dev
2026-08-07 22:17:52 -05:00
NeilClack
42b68842ff
Fix various small issues
2026-08-07 22:17:24 -05:00
NeilClack
835e1b0f0c
Remove gitea authentication setup
2026-08-07 20:41:09 -05:00
NeilClack
2e3d88b57d
Update Plymount dontUnpack = true;
2026-08-07 17:47:04 -05:00
NeilClack
e0a95e015c
Attempt Gitea auth
2026-08-07 17:41:24 -05:00
NeilClack
06f02d49b9
update radiantwave to radiatnwave-dev
2026-08-07 17:39:26 -05:00
NeilClack
8d388eda13
Update iso name
2026-08-07 17:36:38 -05:00
NeilClack
d0ecc74dc8
Rebuild build-dev.yml workflow based on build-prod.yml
2026-08-07 17:35:38 -05:00
NeilClack
50a1f3e99d
Update repository location
2026-08-07 17:19:04 -05:00
NeilClack
37d18d3f47
Update repository location
2026-08-07 17:18:32 -05:00
NeilClack
cbb3e05859
Update to radiantave-cpp, enable plymouth boot image
2026-08-07 17:13:59 -05:00
NeilClack
2d4aca230d
Update configuration and dev-iso
...
dev-iso now mirrors both in function, setup and organization iso-config.
configuration.nix has been updated to ensure PipeWire audio controls, and pin sink volumes to 100%.
2026-08-07 00:38:25 -05:00
NeilClack
2209f90c5a
Fix output directory location
2026-08-06 21:59:21 -05:00
NeilClack
10a99540b1
Update CI artifact paths for new self-hosted runner
...
The build-prod and build-dev workflows wrote their ISO/image artifacts to paths tied to the old 'build-server' runner:
- build-prod.yml: /home/runner/radiantwave
- build-dev.yml: /mnt/actions_build_storage/outputs
Both now stage, copy, and clean up artifacts under the new runner's home directory instead:
- build-prod.yml: /home/user/radiantwave
- build-dev.yml: /home/usr/radiantwave
No other behavior changes; the output files are still scp'd to the fileserver and the flake.lock commit step is unchanged.
2026-08-06 21:56:39 -05:00
NeilClack
c3f65f7897
Fix audio: pin system volume to 100% before RadiantWave launches
2026-08-06 21:55:40 -05:00
NeilClack
0f5aa7670c
Chore: Update Radiantwave
2026-08-06 10:13:40 -05:00
NeilClack
3b2bd6e194
Update actions runner to new self-hosted runner & add manual deploys
2026-08-06 10:12:41 -05:00
NeilClack
834a5aeef5
Add manual trigger to production workflow
2026-08-03 02:48:30 -05:00
NeilClack
ce6856b37a
Fix kiosk startup: radiantwave binary, drop stale rsync, fix GODEBUG typo
2026-08-03 01:54:52 -05:00
NeilClack
d149ce76f1
Merge branch 'dev'
2026-08-03 01:09:58 -05:00
NeilClack
04e262438c
Update raspberry pi image name convention
2026-08-02 11:14:06 -05:00
NeilClack
dbe4598297
Update raspberry pi builder script timestamp format
2026-08-02 11:11:03 -05:00
NeilClack
5617a23c6e
Update commit message
2026-08-02 08:23:53 -05:00
NeilClack
1d2345c280
Fix upload ssh targets
2026-08-02 01:59:22 -05:00