Make the baked app a real store-path dependency via builtins.storePath
Build Kiosk Image (Raspberry Pi) / rpi (push) Canceled after 9s
Build Kiosk Images (x86) / android (push) Successful in 3m56s
Build Kiosk Images (x86) / commercial (push) Successful in 3m32s
Build Kiosk Images (x86) / kiosk (push) Successful in 4m7s

The previous commit wrapped the manifest's storePath string in a
symlinkJoin. symlinkJoin passes its paths as a file, so a bare store-path
string registered no dependency: Nix never substituted the closure and the
symlinkJoin failed with 'radiantwave-9b57e48: No such file or directory'.

builtins.storePath turns the published path into a real store-path
dependency that Nix substitutes from the channel's Attic cache, so the app
is baked and never compiled. Keep the raw string (publishedPath) for the
updater's plain-string baseline pointer.
This commit is contained in:
NeilClack
2026-10-07 10:48:15 -05:00
parent a33a586485
commit f74d8cb708
2 changed files with 19 additions and 18 deletions
+4 -9
View File
@@ -1,15 +1,10 @@
{ config, pkgs, radiantwaveApp, upgradeFlakeRef, radiantwavePlymouth, ... }:
let
# The published app is a store path with context (builtins.storePath in
# flake.nix), so Nix substitutes it from the channel's Attic cache and the
# system closure depends on it.
radiantApp = radiantwaveApp;
# The published app arrives as a bare store-path string (from the channel
# manifest, see flake.nix). Wrap it in a derivation built with this system's
# pkgs so it can live in environment.systemPackages; the wrapper is a symlink
# farm and the real closure is substituted from the channel's Attic cache.
radiantAppPackage = pkgs.symlinkJoin {
name = "radiantwave-published";
paths = [ radiantApp ];
};
# When the live-updater module is enabled, RadiantWave launches through the
# mutable /var/lib/radiantwave/current
# pointer so it can be swapped without a full nixos-rebuild. Otherwise it
@@ -40,7 +35,7 @@ in
# Included packages
environment.systemPackages = [
pkgs.cage pkgs.rsync pkgs.dbus pkgs.mesa pkgs.git pkgs.tailscale pkgs.sqlite pkgs.wireplumber
radiantAppPackage
radiantApp
];
# This populates the EFI partition and tells the NUC how to start NixOS.