refactor: migrate from Codeberg to Gitea and rename rhemawave to radiantwave

- Update all Codeberg URLs to gitea.radiantwavetech.com/RadiantWaveTech/
- Rename flake inputs: rhemawave → radiantwave, rhemawave-dev → radiantwave-dev
- Rename NixOS configs: rhemawavekiosk* → radiantwavekiosk*
- Update systemd services, data paths, and binary references
- Rename plymouth theme files
- Update CI workflow, documentation, and build scripts
This commit is contained in:
NeilClack
2026-07-27 14:23:31 -05:00
parent c06a3f7f92
commit 5a6031a3fe
13 changed files with 102 additions and 102 deletions
+6 -6
View File
@@ -25,16 +25,16 @@ jobs:
with: with:
token: ${{ secrets.TOKEN }} token: ${{ secrets.TOKEN }}
- name: Update rhemawave-dev - name: Update radiantwave-dev
run: | run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix flake update rhemawave-dev nix flake update radiantwave-dev
# This builds the system closure # This builds the system closure
- name: Build dev VM - name: Build dev VM
run: | run: |
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix build -L .#nixosConfigurations.rhemawavekiosk-dev.config.system.build.toplevel nix build -L .#nixosConfigurations.radiantwavekiosk-dev.config.system.build.toplevel
# If the closure builds, it's valid, even if incorrect and something is wrong. # If the closure builds, it's valid, even if incorrect and something is wrong.
# That's why we build the ISO next, even for the dev branch, for testing # That's why we build the ISO next, even for the dev branch, for testing
@@ -48,9 +48,9 @@ jobs:
run: | run: |
git config user.email "ci@radiantwavetech.com" git config user.email "ci@radiantwavetech.com"
git config user.name "RadiantWave CI" git config user.name "RadiantWave CI"
git remote set-url origin https://oauth2:${{ secrets.FORGEJO_TOKEN }}@codeberg.org/RhemaWave-Technologies/KioskConfig.git git remote set-url origin https://oauth2:${{ secrets.FORGEJO_TOKEN }}@gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git
git add flake.lock git add flake.lock
git commit -m "chore: update rhemawave-dev to latest dev" || echo "Nothing to commit" git commit -m "chore: update radiantwave-dev to latest dev" || echo "Nothing to commit"
git push git push
- name: Notify - name: Notify
@@ -64,4 +64,4 @@ jobs:
subject: "${{ job.status == 'success' && '✅' || '❌' }} KioskConfig dev build ${{ job.status }}" subject: "${{ job.status == 'success' && '✅' || '❌' }} KioskConfig dev build ${{ job.status }}"
to: cnclack@pm.me to: cnclack@pm.me
from: ci@radiantwavetech.com from: ci@radiantwavetech.com
body: "KioskConfig dev build ${{ job.status }} — rhemawave-dev updated and arstifacts copied to /ssd/radiantwave/build/" body: "KioskConfig dev build ${{ job.status }} — radiantwave-dev updated and arstifacts copied to /ssd/radiantwave/build/"
+13 -13
View File
@@ -2,9 +2,9 @@
## What this repo is ## What this repo is
NixOS flake that defines kiosk systems running the RadiantWave app. Not application code — this is the OS image and deployment configuration. The actual app lives in the `rhemawave` flake input (from Codeberg). NixOS flake that defines kiosk systems running the RadiantWave app. Not application code — this is the OS image and deployment configuration. The actual app lives in the `radiantwave` flake input (from gitea.radiantwavetech.com).
Hosted on Codeberg: `https://codeberg.org/RhemaWave-Technologies/KioskConfig` Hosted on Gitea: `https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig`
## Key commands ## Key commands
@@ -29,32 +29,32 @@ nix eval .#nixosConfigurations --apply builtins.attrNames
| Name | Target hardware | Disk device | Notes | | Name | Target hardware | Disk device | Notes |
|---|---|---|---| |---|---|---|---|
| `rhemawavekiosk` | Intel NUC 14 (NVMe) | `/dev/nvme0n1` | Production, uses `rhemawave` main | | `radiantwavekiosk` | Intel NUC 14 (NVMe) | `/dev/nvme0n1` | Production, uses `radiantwave` main |
| `rhemawavekiosk-dev` | Intel NUC 14 (NVMe) | `/dev/nvme0n1` | Dev, uses `rhemawave-dev` ref | | `radiantwavekiosk-dev` | Intel NUC 14 (NVMe) | `/dev/nvme0n1` | Dev, uses `radiantwave-dev` ref |
| `rhemawavekiosk-commercial` | Commercial HW (SATA) | `/dev/sda` | Production | | `radiantwavekiosk-commercial` | Commercial HW (SATA) | `/dev/sda` | Production |
| `rhemawavekiosk-commercial-dev` | Commercial HW (SATA) | `/dev/sda` | Dev | | `radiantwavekiosk-commercial-dev` | Commercial HW (SATA) | `/dev/sda` | Dev |
| `rhemawavekiosk-android` | Intel NUC 14 | `/dev/nvme0n1` | + rotated display (portrait) | | `radiantwavekiosk-android` | Intel NUC 14 | `/dev/nvme0n1` | + rotated display (portrait) |
| `rhemawavekiosk-rpi` | Raspberry Pi 5 | — | Uses `nixos-raspberrypi` | | `radiantwavekiosk-rpi` | Raspberry Pi 5 | — | Uses `nixos-raspberrypi` |
| `rhemawavekiosk-rpi-dev` | Raspberry Pi 5 | — | Dev, uses `rhemawave-dev` | | `radiantwavekiosk-rpi-dev` | Raspberry Pi 5 | — | Dev, uses `radiantwave-dev` |
ISOs: `usb-iso`, `commercial-usb-iso`, `android-iso`, `dev-iso` — each bakes in the corresponding system closure for zero-touch install. ISOs: `usb-iso`, `commercial-usb-iso`, `android-iso`, `dev-iso` — each bakes in the corresponding system closure for zero-touch install.
## Branching model ## Branching model
Single branch (`main`). Production vs. dev split is at the **flake input** level (`rhemawave` vs `rhemawave-dev`), not at the branch level. Single branch (`main`). Production vs. dev split is at the **flake input** level (`radiantwave` vs `radiantwave-dev`), not at the branch level.
## CI (Forgejo) ## CI (Forgejo)
`.forgejo/workflows/build-dev.yml` — triggered by `repository_dispatch` (`radiantwave-dev-built`) from the RadiantWave repo. Updates `rhemawave-dev` input, builds dev closure + ISO, commits updated `flake.lock`. Runs on `neils-server-runner`. `.forgejo/workflows/build-dev.yml` — triggered by `repository_dispatch` (`radiantwave-dev-built`) from the RadiantWave repo. Updates `radiantwave-dev` input, builds dev closure + ISO, commits updated `flake.lock`. Runs on `neils-server-runner`.
## Important gotchas ## Important gotchas
- **Disk device differs by variant**: `disk-config.nix` uses `/dev/nvme0n1`, `commercial-disk-config.nix` uses `/dev/sda`. Don't mix them up. - **Disk device differs by variant**: `disk-config.nix` uses `/dev/nvme0n1`, `commercial-disk-config.nix` uses `/dev/sda`. Don't mix them up.
- **ISO configs reference specific system closures**: `iso-config.nix` hardcodes `rhemawavekiosk`, `dev-iso.nix` hardcodes `rhemawavekiosk-dev`, `commercial-iso-config.nix` hardcodes `rhemawavekiosk-commercial`. Changing a config name in `flake.nix` requires updating the corresponding ISO config. - **ISO configs reference specific system closures**: `iso-config.nix` hardcodes `radiantwavekiosk`, `dev-iso.nix` hardcodes `radiantwavekiosk-dev`, `commercial-iso-config.nix` hardcodes `radiantwavekiosk-commercial`. Changing a config name in `flake.nix` requires updating the corresponding ISO config.
- **Attic cache token**: ISO configs embed a JWT token for Attic in `/etc/nix/netrc`. If builds fail with auth errors, the token may have expired (expiry in the JWT payload). - **Attic cache token**: ISO configs embed a JWT token for Attic in `/etc/nix/netrc`. If builds fail with auth errors, the token may have expired (expiry in the JWT payload).
- **`rotated_display.nix` uses `mkForce`** on `loginShellInit` — it replaces the entire kiosk startup script from `configuration.nix`, don't edit both. - **`rotated_display.nix` uses `mkForce`** on `loginShellInit` — it replaces the entire kiosk startup script from `configuration.nix`, don't edit both.
- **SOPS**: `.sops.yaml` configures age-based encryption for `secrets.yaml`. You'll need the private key matching `age1t2wpzv...` to decrypt. - **SOPS**: `.sops.yaml` configures age-based encryption for `secrets.yaml`. You'll need the private key matching `age1t2wpzv...` to decrypt.
- **Flake inputs**: `rhemawave` tracks main, `rhemawave-dev` tracks `?ref=dev`. Updating them independently is intentional. - **Flake inputs**: `radiantwave` tracks main, `radiantwave-dev` tracks `?ref=dev`. Updating them independently is intentional.
## File map ## File map
+2 -2
View File
@@ -1,12 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
CONFIG="rhemawavekiosk-rpi" CONFIG="radiantwavekiosk-rpi"
VARIANT="" VARIANT=""
for arg in "$@"; do for arg in "$@"; do
case "$arg" in case "$arg" in
--dev) CONFIG="rhemawavekiosk-rpi-dev"; VARIANT="-dev" ;; --dev) CONFIG="radiantwavekiosk-rpi-dev"; VARIANT="-dev" ;;
*) echo "Unknown arg: $arg"; exit 1 ;; *) echo "Unknown arg: $arg"; exit 1 ;;
esac esac
done done
+5 -5
View File
@@ -2,11 +2,11 @@ Build ISO installer
nix build .#nixosConfigurations.installer-iso.config.system.build.isoImage nix build .#nixosConfigurations.installer-iso.config.system.build.isoImage
Build kiosk system and push to Attic cache Build kiosk system and push to Attic cache
nix build .#nixosConfigurations.rhemawavekiosk.config.system.build.toplevel nix build .#nixosConfigurations.radiantwavekiosk.config.system.build.toplevel
attic push kiosk ./result attic push kiosk ./result
Deploy to a specific kiosk over SSH Deploy to a specific kiosk over SSH
nixos-rebuild switch --flake .#rhemawavekiosk --target-host root@<host> nixos-rebuild switch --flake .#radiantwavekiosk --target-host root@<host>
--- ---
@@ -16,7 +16,7 @@ The build commands follow the flake output attribute tree. Start with `flake.nix
```nix ```nix
nixosConfigurations = { nixosConfigurations = {
rhemawavekiosk = nixpkgs.lib.nixosSystem { ... }; # production machine radiantwavekiosk = nixpkgs.lib.nixosSystem { ... }; # production machine
installer-iso = nixpkgs.lib.nixosSystem { ... }; # USB installer installer-iso = nixpkgs.lib.nixosSystem { ... }; # USB installer
}; };
``` ```
@@ -31,7 +31,7 @@ by walking the attribute tree with dots:
│ │ │ toplevel = full system closure │ │ │ toplevel = full system closure
│ │ │ isoImage = bootable ISO │ │ │ isoImage = bootable ISO
│ │ │ │ │ │
│ │ └─ name from flake.nix (rhemawavekiosk, installer-iso) │ │ └─ name from flake.nix (radiantwavekiosk, installer-iso)
│ │ │ │
│ └─ nixosConfigurations = standard flake output for NixOS systems │ └─ nixosConfigurations = standard flake output for NixOS systems
│ │
@@ -40,4 +40,4 @@ by walking the attribute tree with dots:
You can explore what's available with: You can explore what's available with:
nix eval .#nixosConfigurations --apply builtins.attrNames nix eval .#nixosConfigurations --apply builtins.attrNames
nix eval .#nixosConfigurations.rhemawavekiosk.config.system.build --apply builtins.attrNames nix eval .#nixosConfigurations.radiantwavekiosk.config.system.build --apply builtins.attrNames
+4 -4
View File
@@ -6,12 +6,12 @@
}: }:
let let
# TODO: Parameterize this to combine with iso-config.nix # TODO: Parameterize this to combine with iso-config.nix
# Currently hardcoded to rhemawavekiosk-commercial; should accept target config as param # Currently hardcoded to radiantwavekiosk-commercial; should accept target config as param
targetSystem = targetSystem =
self.nixosConfigurations.rhemawavekiosk-commercial.config.system.build.toplevel; self.nixosConfigurations.radiantwavekiosk-commercial.config.system.build.toplevel;
diskoScript = diskoScript =
self.nixosConfigurations.rhemawavekiosk-commercial.config.system.build.diskoScript; self.nixosConfigurations.radiantwavekiosk-commercial.config.system.build.diskoScript;
in in
{ {
nix.settings = { nix.settings = {
@@ -105,7 +105,7 @@ in
${diskoScript} ${diskoScript}
echo "Installing RhemaWave" echo "Installing RadiantWave"
echo "Closure Path: ${targetSystem}" echo "Closure Path: ${targetSystem}"
nixos-install \ nixos-install \
+15 -15
View File
@@ -1,14 +1,14 @@
{ pkgs, rhemawave, upgradeFlakeRef, ... }: { pkgs, radiantwave, upgradeFlakeRef, ... }:
let let
rhemaApp = rhemawave.packages.${pkgs.system}.default; radiantApp = radiantwave.packages.${pkgs.system}.default;
myKey = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB4vXx7sOOVAyxdS/N1LEI+L8wYICf+gbzs6Kz7K8Je5 cnclack@pm.me:Thinkpad" ]; myKey = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB4vXx7sOOVAyxdS/N1LEI+L8wYICf+gbzs6Kz7K8Je5 cnclack@pm.me:Thinkpad" ];
in in
{ {
# Included packages # Included packages
environment.systemPackages = [ environment.systemPackages = [
pkgs.cage pkgs.rsync pkgs.dbus pkgs.mesa pkgs.git pkgs.tailscale pkgs.sqlite pkgs.cage pkgs.rsync pkgs.dbus pkgs.mesa pkgs.git pkgs.tailscale pkgs.sqlite
rhemaApp radiantApp
]; ];
# This populates the EFI partition and tells the NUC how to start NixOS. # This populates the EFI partition and tells the NUC how to start NixOS.
@@ -53,15 +53,15 @@ in
# --- Set ownership of Radiantwave files --- # --- Set ownership of Radiantwave files ---
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /home/kiosk/.local/share/rhemawave 0770 kiosk kiosk -" "d /home/kiosk/.local/share/radiantwave 0770 kiosk kiosk -"
]; ];
system.activationScripts.cleanRadiantFiles = '' system.activationScripts.cleanRadiantFiles = ''
rm -rf /home/kiosk/.local/share/rhemawave/audio rm -rf /home/kiosk/.local/share/radiantwave/audio
''; '';
# --- Backup service: runs before nixos-upgrade --- # --- Backup service: runs before nixos-upgrade ---
systemd.services.rhemawave-backup = { systemd.services.radiantwave-backup = {
description = "Backup RadiantWave user data before upgrade"; description = "Backup RadiantWave user data before upgrade";
before = [ "nixos-upgrade.service" ]; before = [ "nixos-upgrade.service" ];
wantedBy = [ "nixos-upgrade.service" ]; wantedBy = [ "nixos-upgrade.service" ];
@@ -70,8 +70,8 @@ in
User = "kiosk"; User = "kiosk";
}; };
script = '' script = ''
BACKUP_DIR="/home/kiosk/.local/share/rhemawave-backup" BACKUP_DIR="/home/kiosk/.local/share/radiantwave-backup"
SOURCE_DIR="/home/kiosk/.local/share/rhemawave" SOURCE_DIR="/home/kiosk/.local/share/radiantwave"
mkdir -p "$BACKUP_DIR" mkdir -p "$BACKUP_DIR"
@@ -84,17 +84,17 @@ in
}; };
# --- Health check service: runs after nixos-upgrade --- # --- Health check service: runs after nixos-upgrade ---
systemd.services.rhemawave-healthcheck = { systemd.services.radiantwave-healthcheck = {
description = "Verify RadiantWave is running after upgrade, rollback if not"; description = "Verify RadiantWave is running after upgrade, rollback if not";
after = [ "nixos-upgrade.service" ]; after = [ "nixos-upgrade.service" ];
wantedBy = [ "nixos-upgrade.service" ]; wantedBy = [ "nixos-upgrade.service" ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
# Give cage time to start rhemawave after the switch # Give cage time to start radiantwave after the switch
ExecStartPre = "${pkgs.coreutils}/bin/sleep 90"; ExecStartPre = "${pkgs.coreutils}/bin/sleep 90";
}; };
script = '' script = ''
if ${pkgs.procps}/bin/pgrep -x rhemawave > /dev/null; then if ${pkgs.procps}/bin/pgrep -x radiantwave > /dev/null; then
echo "RadiantWave is running, upgrade successful" echo "RadiantWave is running, upgrade successful"
exit 0 exit 0
fi fi
@@ -130,10 +130,10 @@ in
export WLR_NO_HARDWARE_CURSORS=1 export WLR_NO_HARDWARE_CURSORS=1
# Asset sync + start app # Asset sync + start app
mkdir -p /home/kiosk/.local/share/rhemawave mkdir -p /home/kiosk/.local/share/radiantwave
${pkgs.rsync}/bin/rsync -ru ${rhemaApp}/share/rhemawave/ /home/kiosk/.local/share/rhemawave/ ${pkgs.rsync}/bin/rsync -ru ${radiantApp}/share/radiantwave/ /home/kiosk/.local/share/radiantwave/
exec dbus-run-session cage -- ${rhemaApp}/bin/rhemawave -d -s > /tmp/kiosk.log 2>&1 exec dbus-run-session cage -- ${radiantApp}/bin/radiantwave -d -s > /tmp/kiosk.log 2>&1
fi fi
''; '';
@@ -154,7 +154,7 @@ in
# }; # };
# systemd.services.tailscale-set-hostname = { # systemd.services.tailscale-set-hostname = {
# description = "Set Tailscale hostname based on the RhemaWave license key"; # description = "Set Tailscale hostname based on the RadiantWave license key";
# after = [ "tailscale-autoconnect.service" ]; # after = [ "tailscale-autoconnect.service" ];
# wants = [ "tailscaled.service" ]; # wants = [ "tailscaled.service" ];
# wantedBy = [ "multi-user.target" ]; # wantedBy = [ "multi-user.target" ];
+3 -3
View File
@@ -6,11 +6,11 @@
}: }:
let let
targetSystem = targetSystem =
self.nixosConfigurations.rhemawavekiosk-dev.config.system.build.toplevel; self.nixosConfigurations.radiantwavekiosk-dev.config.system.build.toplevel;
# 🔧 FIX: prebuilt disko script (restores v1.0.1 behavior) # 🔧 FIX: prebuilt disko script (restores v1.0.1 behavior)
diskoScript = diskoScript =
self.nixosConfigurations.rhemawavekiosk-dev.config.system.build.diskoScript; self.nixosConfigurations.radiantwavekiosk-dev.config.system.build.diskoScript;
in in
{ {
nix.settings = { nix.settings = {
@@ -109,7 +109,7 @@ in
# 🔧 FIX: use prebuilt script instead of runtime disko eval # 🔧 FIX: use prebuilt script instead of runtime disko eval
${diskoScript} ${diskoScript}
echo "Installing RhemaWave" echo "Installing RadiantWave"
echo "Closure Path: ${targetSystem}" echo "Closure Path: ${targetSystem}"
nixos-install \ nixos-install \
+39 -39
View File
@@ -4,8 +4,8 @@
disko.url = "github:nix-community/disko"; disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs"; disko.inputs.nixpkgs.follows = "nixpkgs";
nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
rhemawave.url = "git+https://codeberg.org/RhemaWave-Technologies/RhemaWave.git"; radiantwave.url = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/RhemaWave.git";
rhemawave-dev.url = "git+https://codeberg.org/RhemaWave-Technologies/RhemaWave.git?ref=dev"; radiantwave-dev.url = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/RhemaWave.git?ref=dev";
nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main"; nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main";
}; };
@@ -15,20 +15,20 @@
nixpkgs, nixpkgs,
disko, disko,
nixos-facter-modules, nixos-facter-modules,
rhemawave, radiantwave,
rhemawave-dev, radiantwave-dev,
nixos-raspberrypi, nixos-raspberrypi,
... ...
}@inputs: }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
mkKioskSystem = { system, rhemawave, upgradeFlakeRef, extraModules ? [], diskModule, enableAutoUpgrade ? true, extraSpecialArgs ? {}}: mkKioskSystem = { system, radiantwave, upgradeFlakeRef, extraModules ? [], diskModule, enableAutoUpgrade ? true, extraSpecialArgs ? {}}:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
inherit system; inherit system;
specialArgs = { specialArgs = {
inherit rhemawave; inherit radiantwave;
inherit upgradeFlakeRef; inherit upgradeFlakeRef;
} // extraSpecialArgs; } // extraSpecialArgs;
@@ -38,14 +38,14 @@
diskModule diskModule
nixos-facter-modules.nixosModules.facter nixos-facter-modules.nixosModules.facter
{ facter.reportPath = ./facter.json; } { facter.reportPath = ./facter.json; }
rhemawave.nixosModules.default radiantwave.nixosModules.default
] ++ extraModules; ] ++ extraModules;
}; };
mkRpiKioskSystem = { rhemawave, upgradeFlakeRef, extraModules ? [], enableAutoUpgrade ? true }: mkRpiKioskSystem = { radiantwave, upgradeFlakeRef, extraModules ? [], enableAutoUpgrade ? true }:
nixos-raspberrypi.lib.nixosSystem { nixos-raspberrypi.lib.nixosSystem {
specialArgs = { specialArgs = {
inherit rhemawave upgradeFlakeRef; inherit radiantwave upgradeFlakeRef;
inherit nixos-raspberrypi; inherit nixos-raspberrypi;
}; };
@@ -59,7 +59,7 @@
]; ];
}) })
./configuration.nix ./configuration.nix
rhemawave.nixosModules.default radiantwave.nixosModules.default
{ {
# system.autoUpgrade = { # system.autoUpgrade = {
# enable = enableAutoUpgrade; # enable = enableAutoUpgrade;
@@ -83,53 +83,53 @@
}; };
in in
{ {
packages.x86_64-linux.rhemawavekiosk = self.nixosConfigurations.rhemawavekiosk.config.system.build.toplevel; packages.x86_64-linux.radiantwavekiosk = self.nixosConfigurations.radiantwavekiosk.config.system.build.toplevel;
packages.x86_64-linux.rhemawavekiosk-dev = self.nixosConfigurations.rhemawavekiosk-dev.config.system.build.toplevel; packages.x86_64-linux.radiantwavekiosk-dev = self.nixosConfigurations.radiantwavekiosk-dev.config.system.build.toplevel;
packages.x86_64-linux.rhemawavekiosk-commercial = self.nixosConfigurations.rhemawavekiosk-commercial.config.system.build.toplevel; packages.x86_64-linux.radiantwavekiosk-commercial = self.nixosConfigurations.radiantwavekiosk-commercial.config.system.build.toplevel;
packages.x86_64-linux.rhemawavekiosk-android = self.nixosConfigurations.rhemawavekiosk-android.config.system.build.toplevel; packages.x86_64-linux.radiantwavekiosk-android = self.nixosConfigurations.radiantwavekiosk-android.config.system.build.toplevel;
nixosConfigurations = { nixosConfigurations = {
rhemawavekiosk = mkKioskSystem { radiantwavekiosk = mkKioskSystem {
system = "x86_64-linux"; system = "x86_64-linux";
rhemawave = rhemawave; radiantwave = radiantwave;
diskModule = ./disk-config.nix; diskModule = ./disk-config.nix;
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk"; upgradeFlakeRef = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git#radiantwavekiosk";
extraModules = []; extraModules = [];
}; };
rhemawavekiosk-dev = mkKioskSystem { radiantwavekiosk-dev = mkKioskSystem {
system = "x86_64-linux"; system = "x86_64-linux";
rhemawave = rhemawave-dev; radiantwave = radiantwave-dev;
diskModule = ./disk-config.nix; diskModule = ./disk-config.nix;
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-dev"; upgradeFlakeRef = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git?ref=dev#radiantwavekiosk-dev";
extraModules = []; extraModules = [];
}; };
rhemawavekiosk-commercial = mkKioskSystem { radiantwavekiosk-commercial = mkKioskSystem {
system = "x86_64-linux"; system = "x86_64-linux";
rhemawave = rhemawave; radiantwave = radiantwave;
diskModule = ./commercial-disk-config.nix; diskModule = ./commercial-disk-config.nix;
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-commercial"; upgradeFlakeRef = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git#radiantwavekiosk-commercial";
extraModules = []; extraModules = [];
}; };
rhemawavekiosk-commercial-dev = mkKioskSystem { radiantwavekiosk-commercial-dev = mkKioskSystem {
system = "x86_64-linux"; system = "x86_64-linux";
rhemawave = rhemawave; radiantwave = radiantwave;
diskModule = ./commercial-disk-config.nix; diskModule = ./commercial-disk-config.nix;
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-commercial"; upgradeFlakeRef = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git?ref=dev#radiantwavekiosk-commercial";
extraModules = []; extraModules = [];
}; };
rhemawavekiosk-android = mkKioskSystem { radiantwavekiosk-android = mkKioskSystem {
system = "x86_64-linux"; system = "x86_64-linux";
rhemawave = rhemawave; radiantwave = radiantwave;
diskModule = ./disk-config.nix; diskModule = ./disk-config.nix;
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-android"; upgradeFlakeRef = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git#radiantwavekiosk-android";
extraModules = [./rotated_display.nix ]; extraModules = [./rotated_display.nix ];
}; };
rhemawavekiosk-rpi = mkRpiKioskSystem { radiantwavekiosk-rpi = mkRpiKioskSystem {
rhemawave = rhemawave; radiantwave = radiantwave;
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git#rhemawavekiosk-rpi"; upgradeFlakeRef = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git#radiantwavekiosk-rpi";
}; };
rhemawavekiosk-rpi-dev = mkRpiKioskSystem { radiantwavekiosk-rpi-dev = mkRpiKioskSystem {
rhemawave = rhemawave-dev; radiantwave = radiantwave-dev;
upgradeFlakeRef = "git+https://codeberg.org/RhemaWave-Technologies/KioskConfig.git?ref=dev#rhemawavekiosk-rpi-dev"; upgradeFlakeRef = "git+https://gitea.radiantwavetech.com/RadiantWaveTech/KioskConfig.git?ref=dev#radiantwavekiosk-rpi-dev";
}; };
usb-iso = nixpkgs.lib.nixosSystem { usb-iso = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
@@ -147,7 +147,7 @@
disko.packages.${system}.default disko.packages.${system}.default
]; ];
isoImage.storeContents = [ isoImage.storeContents = [
self.packages.x86_64-linux.rhemawavekiosk self.packages.x86_64-linux.radiantwavekiosk
]; ];
environment.etc."disko-config.nix".source = ./disk-config.nix; environment.etc."disko-config.nix".source = ./disk-config.nix;
}) })
@@ -169,7 +169,7 @@
disko.packages.${system}.default disko.packages.${system}.default
]; ];
isoImage.storeContents = [ isoImage.storeContents = [
self.packages.x86_64-linux.rhemawavekiosk-commercial self.packages.x86_64-linux.radiantwavekiosk-commercial
]; ];
environment.etc."disko-config.nix".source = ./commercial-disk-config.nix; environment.etc."disko-config.nix".source = ./commercial-disk-config.nix;
}) })
@@ -192,7 +192,7 @@
disko.packages.${system}.default disko.packages.${system}.default
]; ];
isoImage.storeContents = [ isoImage.storeContents = [
self.packages.x86_64-linux.rhemawavekiosk-android self.packages.x86_64-linux.radiantwavekiosk-android
]; ];
environment.etc."disko-config.nix".source = ./disk-config.nix; environment.etc."disko-config.nix".source = ./disk-config.nix;
}) })
@@ -214,7 +214,7 @@
disko.packages.${system}.default disko.packages.${system}.default
]; ];
isoImage.storeContents = [ isoImage.storeContents = [
self.packages.x86_64-linux.rhemawavekiosk-dev self.packages.x86_64-linux.radiantwavekiosk-dev
]; ];
environment.etc."disko-config.nix".source = ./disk-config.nix; environment.etc."disko-config.nix".source = ./disk-config.nix;
}) })
+3 -3
View File
@@ -6,10 +6,10 @@
}: }:
let let
targetSystem = targetSystem =
self.nixosConfigurations.rhemawavekiosk.config.system.build.toplevel; self.nixosConfigurations.radiantwavekiosk.config.system.build.toplevel;
diskoScript = diskoScript =
self.nixosConfigurations.rhemawavekiosk.config.system.build.diskoScript; self.nixosConfigurations.radiantwavekiosk.config.system.build.diskoScript;
in in
{ {
nix.settings = { nix.settings = {
@@ -104,7 +104,7 @@ script = ''
${diskoScript} ${diskoScript}
echo "Installing RhemaWave" echo "Installing RadiantWave"
echo "Closure Path: ${targetSystem}" echo "Closure Path: ${targetSystem}"
nixos-install \ nixos-install \
+8
View File
@@ -0,0 +1,8 @@
[Plymouth Theme]
Name=RadiantWave
Description=RadiantWave kiosk splash screen
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/radiantwave
ScriptFile=/usr/share/plymouth/themes/radiantwave/radiantwave.script
-8
View File
@@ -1,8 +0,0 @@
[Plymouth Theme]
Name=RhemaWave
Description=RhemaWave kiosk splash screen
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/rhemawave
ScriptFile=/usr/share/plymouth/themes/rhemawave/rhemawave.script
+4 -4
View File
@@ -1,10 +1,10 @@
{ pkgs, rhemawave, ...}: { pkgs, radiantwave, ...}:
let let
rhemaApp = rhemawave.packages.${pkgs.system}.default; radiantApp = radiantwave.packages.${pkgs.system}.default;
kioskscript = pkgs.writeShellScript "kiosk-start" '' kioskscript = pkgs.writeShellScript "kiosk-start" ''
OUTPUT=$(${pkgs.wlr-randr}/bin/wlr-randr | grep -m1 '^\S' | awk '{print $1}') OUTPUT=$(${pkgs.wlr-randr}/bin/wlr-randr | grep -m1 '^\S' | awk '{print $1}')
${pkgs.wlr-randr}/bin/wlr-randr --output "$OUTPUT" --transform 90 ${pkgs.wlr-randr}/bin/wlr-randr --output "$OUTPUT" --transform 90
exec ${rhemaApp}/bin/rhemawave -d -s exec ${radiantApp}/bin/radiantwave -d -s
''; '';
in in
{ {
@@ -27,7 +27,7 @@ in
export WLR_RENDERER=pixman export WLR_RENDERER=pixman
export WLR_NO_HARDWARE_CURSORS=1 export WLR_NO_HARDWARE_CURSORS=1
mkdir -p /home/kiosk/.local/share/rhemawave mkdir -p /home/kiosk/.local/share/radiantwave
exec dbus-run-session cage -- ${kioskscript} > /tmp/kiosk.log 2>&1 exec dbus-run-session cage -- ${kioskscript} > /tmp/kiosk.log 2>&1
fi fi
''; '';