diff --git a/deploy/nixos/README.md b/deploy/nixos/README.md index a035ace..121a69c 100644 --- a/deploy/nixos/README.md +++ b/deploy/nixos/README.md @@ -9,7 +9,7 @@ NixOS module + tooling for deploying bitSpire to ATM hardware (Sintra, tejo, dou ``` deploy/nixos/ ├── bitspire-atm.nix # NixOS module: services.bitspire option tree + systemd unit + udev rules -├── configuration.nix # Base system (NixOS 24.05, locale, kernel, packages, bitspire user) +├── configuration.nix # Base system (NixOS 24.11, locale, kernel, packages, bitspire user) ├── live.nix # Live USB variant (squashfs + tmpfs root) — used by mkLiveConfig ├── hardware/ │ ├── douro.nix # Dell OptiPlex 9030 AIO (stock Douro motherboard; SATA SSD, eGalax touch) diff --git a/deploy/nixos/flash-douro-usb.sh b/deploy/nixos/flash-douro-usb.sh index aee581e..c77682d 100755 --- a/deploy/nixos/flash-douro-usb.sh +++ b/deploy/nixos/flash-douro-usb.sh @@ -109,12 +109,12 @@ fi # Step 2: Format as FAT32 # FAT32 volume labels are max 11 chars, so we use a short label. -# The kernel finds root by LABEL=nixos-24.05-x86_64 which is on the ISO9660. +# The kernel finds root by LABEL=nixos-24.11-x86_64 which is on the ISO9660. # But since we're extracting the ISO, we set the label on the FAT32 partition. # NixOS initrd also searches by /nix-store.squashfs file presence. echo "" echo "--- Step 2: Formatting FAT32 ---" -mkfs.fat -F32 -n 'NIXOS2405' "$PART_DEV" +mkfs.fat -F32 -n 'NIXOS2411' "$PART_DEV" echo "OK: FAT32 formatted" # Step 3: Mount ISO and USB partition diff --git a/deploy/nixos/hardware/batm3.nix b/deploy/nixos/hardware/batm3.nix index 51f889c..2a83f2d 100644 --- a/deploy/nixos/hardware/batm3.nix +++ b/deploy/nixos/hardware/batm3.nix @@ -42,12 +42,11 @@ }; hardware = { - opengl = { + graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver - vaapiIntel - vaapiVdpau + libva-vdpau-driver libvdpau-va-gl ]; }; diff --git a/deploy/nixos/hardware/douro.nix b/deploy/nixos/hardware/douro.nix index 9080cb1..d68cad2 100644 --- a/deploy/nixos/hardware/douro.nix +++ b/deploy/nixos/hardware/douro.nix @@ -52,14 +52,12 @@ fsType = "vfat"; }; - # NixOS 24.05 uses hardware.opengl (not hardware.graphics) hardware = { - opengl = { + graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver - vaapiIntel - vaapiVdpau + libva-vdpau-driver libvdpau-va-gl ]; }; diff --git a/deploy/nixos/hardware/upboard.nix b/deploy/nixos/hardware/upboard.nix index f96050a..b3fe1f3 100644 --- a/deploy/nixos/hardware/upboard.nix +++ b/deploy/nixos/hardware/upboard.nix @@ -78,14 +78,12 @@ fsType = "vfat"; }; - # NixOS 24.05 uses hardware.opengl (not hardware.graphics) hardware = { - opengl = { + graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver - vaapiIntel - vaapiVdpau + libva-vdpau-driver libvdpau-va-gl ]; }; diff --git a/deploy/nixos/live.nix b/deploy/nixos/live.nix index b23127f..2ad794c 100644 --- a/deploy/nixos/live.nix +++ b/deploy/nixos/live.nix @@ -109,14 +109,12 @@ in }; # Intel GPU support - # NB: nixos-24.05 uses hardware.opengl, not hardware.graphics hardware = { - opengl = { + graphics = { enable = true; extraPackages = with pkgs; [ intel-media-driver - vaapiIntel - vaapiVdpau + libva-vdpau-driver libvdpau-va-gl ]; }; diff --git a/docs/machine-installation.md b/docs/machine-installation.md index d588dbe..5754c9e 100644 --- a/docs/machine-installation.md +++ b/docs/machine-installation.md @@ -51,8 +51,8 @@ Conceptually: | Layer | Source | Purpose | |---|---|---| -| **Kernel + initrd** | `nixpkgs` 24.05 + `upboard.nix` initrd modules | Boot the Sintra hardware (eMMC via `sdhci-acpi`, validator/dispenser at `ttyJ5`/`ttyJ7`) | -| **NixOS base** | `nixpkgs` 24.05 | systemd, Xorg, openbox, the `lamassu` user, sshd for provisioning | +| **Kernel + initrd** | `nixpkgs` 24.11 + `upboard.nix` initrd modules | Boot the Sintra hardware (eMMC via `sdhci-acpi`, validator/dispenser at `ttyJ5`/`ttyJ7`) | +| **NixOS base** | `nixpkgs` 24.11 | systemd, Xorg, openbox, the `lamassu` user, sshd for provisioning | | **bitspire.service** | `deploy/nixos/bitspire-atm.nix` | systemd unit that launches the Electron kiosk | | **The Electron app** | `apps/machine` built into a nix derivation | The actual ATM UI + state machine + Lightning client | | **Hardware-specific config** | `deploy/nixos/hardware/upboard.nix` (or `douro.nix`, `batm3.nix`) | udev rules, kernel modules, panel calibration | diff --git a/flake.lock b/flake.lock index 737234a..d129fee 100644 --- a/flake.lock +++ b/flake.lock @@ -483,16 +483,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1735563628, - "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", + "lastModified": 1751274312, + "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", + "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 6387a8f..cad1c8f 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { # Stable NixOS for the ATM OS base - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; # Unstable for Electron, Node.js, pnpm (latest versions) nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";