Update to radiantave-cpp, enable plymouth boot image
This commit is contained in:
+41
-2
@@ -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
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user