Make the baked app a real store-path dependency via builtins.storePath
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:
+4
-9
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user