Update to radiantave-cpp, enable plymouth boot image

This commit is contained in:
NeilClack
2026-08-07 17:13:59 -05:00
parent 2d4aca230d
commit cbb3e05859
9 changed files with 163 additions and 122 deletions
+41 -2
View File
@@ -1,4 +1,4 @@
{ pkgs, radiantwave, upgradeFlakeRef, ... }:
{ pkgs, radiantwave, upgradeFlakeRef, radiantwavePlymouth, ... }:
let
radiantApp = radiantwave.packages.${pkgs.system}.default;
@@ -18,10 +18,42 @@ in
# This populates the EFI partition and tells the NUC how to start NixOS.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Boot straight into the splash screen without waiting on the bootloader menu.
boot.loader.timeout = 0;
# Hardware-specific: NUC 14 needs these for the NVMe and Graphics
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "i915" "drm" "drm_kms_helper" ];
boot.kernelParams = [ "quiet" "splash" ];
# --- RadiantWave splash: Plymouth from boot until the app's first frame ---
boot.plymouth.enable = true;
boot.plymouth.theme = "radiantwave";
boot.plymouth.themePackages = [ radiantwavePlymouth ];
# Silence the kernel/initrd output behind the splash. The module adds
# "splash" itself; we keep "quiet" plus show_status=false and loglevel 0.
boot.consoleLogLevel = 0;
boot.initrd.verbose = false;
boot.kernelParams = [ "quiet" "splash" "systemd.show_status=false" ];
# Hold the splash until the app is ready to take over the display, instead of
# quitting at multi-user.target (which would flash a black/console screen
# during the login shell's network wait). The kiosk login shell runs
# `sudo -n plymouth quit --wait` immediately before exec'ing cage.
systemd.services.plymouth-quit.wantedBy = pkgs.lib.mkForce [ ];
systemd.services.plymouth-quit-wait.wantedBy = pkgs.lib.mkForce [ ];
# Allow the kiosk user to quit Plymouth (NOPASSWD, command-scoped).
security.sudo.extraRules = [
{
users = [ "kiosk" ];
commands = [
{
command = "/run/current-system/sw/bin/plymouth";
options = [ "NOPASSWD" ];
}
];
}
];
hardware.graphics.enable = true;
@@ -29,6 +61,10 @@ in
networking.networkmanager.enable = true;
nix.settings.access-tokens = {
"gitea.radiantwavetech.com" = "ff524968d31acc5c4da350d0884a87264d0e8881";
};
system.autoUpgrade = {
enable = true;
flake = upgradeFlakeRef;
@@ -105,6 +141,9 @@ in
# Pin system audio to 100% and unmute before launching RadiantWave
${pkgs.systemd}/bin/systemctl --user start radiantwave-audio-init.service || true
# Release the splash screen right before the compositor takes over the display
sudo -n plymouth quit --wait || true
exec dbus-run-session cage -- /run/current-system/sw/bin/radiantwave -d -s > /tmp/kiosk.log 2>&1
fi
'';