diff --git a/build-rpi.sh b/build-rpi.sh index 9a31b67..0b803ed 100755 --- a/build-rpi.sh +++ b/build-rpi.sh @@ -6,16 +6,19 @@ TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S") FILENAME="radiantwave-raspberrypi-${TIMESTAMP}.img.zst" REPO="$(pwd)" NIX_STORE="kiosk-nix-store" +NIX_STATE="kiosk-nix-state" echo "==> Building ${CONFIG}..." echo "==> Output: ${REPO}/${FILENAME}" echo "" podman volume create "${NIX_STORE}" 2>/dev/null || true +podman volume create "${NIX_STATE}" 2>/dev/null || true podman run --rm \ -v "${REPO}:/repo" \ -v "${NIX_STORE}:/nix/store" \ + -v "${NIX_STATE}:/nix/var/nix" \ -w /repo \ nixos/nix:latest \ sh -c ' @@ -23,8 +26,8 @@ podman run --rm \ mkdir -p /etc/nix echo "experimental-features = nix-command flakes" > /etc/nix/nix.conf echo "accept-flake-config = true" >> /etc/nix/nix.conf - echo "extra-substituters = https://cache.nixos.org https://nixos-raspberrypi.cachix.org" >> /etc/nix/nix.conf - echo "extra-trusted-public-keys = nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI=" >> /etc/nix/nix.conf + echo "extra-substituters = https://cache.nixos.org https://nixos-raspberrypi.cachix.org https://attic.radiantwavetech.com/radiantwave https://attic.radiantwavetech.com/radiantwave-dev" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI= radiantwave:QADrjpBWJssTZ3KmiZtcWEf4uAm66oOlHmtQI3jkrgA= radiantwave-dev:B8FhLu3MQ9JfeEIHIKNrKxnP+3akzzkqMbTZR4hRfj0=" >> /etc/nix/nix.conf echo "max-jobs = 4" >> /etc/nix/nix.conf echo "==> Building sdImage (first run slow, cached after)..." @@ -34,7 +37,7 @@ podman run --rm \ --print-build-logs echo "==> Build complete, copying..." - cp result/sd-image/*.img* /repo/'${FILENAME}' + cp result/sd-image/*.img.zst /repo/'${FILENAME}' echo "==> Done: ${FILENAME}" ls -lh /repo/'${FILENAME}' ' diff --git a/configuration.nix b/configuration.nix index 6838a40..ca58231 100644 --- a/configuration.nix +++ b/configuration.nix @@ -35,7 +35,7 @@ in # --- RadiantWave splash: Plymouth from boot until the app's first frame --- boot.plymouth.enable = true; boot.plymouth.theme = "radiantwave"; - boot.plymouth.themePackages = [ radiantwavePlymouth ]; + boot.plymouth.themePackages = [ (radiantwavePlymouth pkgs) ]; # Silence the kernel/initrd output behind the splash. The module adds # "splash" itself; we keep "quiet" plus show_status=false and loglevel 0. diff --git a/flake.nix b/flake.nix index cbddecc..72b05d3 100644 --- a/flake.nix +++ b/flake.nix @@ -28,30 +28,31 @@ # at build time (librsvg), so the theme is hermetic and resolution- # independent. The .plymouth file's /usr paths are rewritten to $out # (the NixOS module's initrd fixup rewrites store paths again). - radiantwavePlymouth = pkgs.stdenv.mkDerivation { - pname = "radiantwave-plymouth"; - version = "1.0.0"; + mkRadiantwavePlymouth = targetPkgs: + targetPkgs.stdenv.mkDerivation { + pname = "radiantwave-plymouth"; + version = "1.0.0"; - nativeBuildInputs = [ pkgs.librsvg ]; + nativeBuildInputs = [ targetPkgs.librsvg ]; - src = ./assets/RWT-Circular-Color-ForOnDark.svg; - dontUnpack = true; + src = ./assets/RWT-Circular-Color-ForOnDark.svg; + dontUnpack = true; - buildPhase = '' - mkdir -p $out/share/plymouth/themes/radiantwave - rsvg-convert \ - --keep-aspect-ratio \ - --background-color=#111318 \ - --width=1280 \ - --height=720 \ - --output=$out/share/plymouth/themes/radiantwave/splash.png \ - $src - sed 's,/usr/,'"$out"'/,g' ${./plymouth-theme/radiantwave.plymouth} \ - > $out/share/plymouth/themes/radiantwave/radiantwave.plymouth - cp ${./plymouth-theme/radiantwave.script} \ - $out/share/plymouth/themes/radiantwave/radiantwave.script - ''; - }; + buildPhase = '' + mkdir -p $out/share/plymouth/themes/radiantwave + rsvg-convert \ + --keep-aspect-ratio \ + --background-color=#111318 \ + --width=1280 \ + --height=720 \ + --output=$out/share/plymouth/themes/radiantwave/splash.png \ + $src + sed 's,/usr/,'"$out"'/,g' ${./plymouth-theme/radiantwave.plymouth} \ + > $out/share/plymouth/themes/radiantwave/radiantwave.plymouth + cp ${./plymouth-theme/radiantwave.script} \ + $out/share/plymouth/themes/radiantwave/radiantwave.script + ''; + }; revision = self.rev or self.dirtyRev or null; @@ -101,7 +102,7 @@ specialArgs = { inherit radiantwave; inherit upgradeFlakeRef; - inherit radiantwavePlymouth; + radiantwavePlymouth = mkRadiantwavePlymouth; }; modules = [ @@ -136,7 +137,7 @@ specialArgs = { inherit radiantwave upgradeFlakeRef; inherit nixos-raspberrypi; - inherit radiantwavePlymouth; + radiantwavePlymouth = mkRadiantwavePlymouth; }; modules = [