chore(nix): bump nixpkgs 24.05 → 24.11

Three breakages handled:

- hardware.opengl → hardware.graphics (renamed in 24.11). Touches
  upboard.nix, douro.nix, batm3.nix, live.nix.
- vaapiIntel dropped — legacy pre-Broadwell driver, removed in
  nixpkgs. UP Board (Cherry Trail) and OptiPlex 9030 (Haswell) both
  use intel-media-driver, which stays.
- vaapiVdpau renamed → libva-vdpau-driver.

system.stateVersion stays 24.05 — convention is to never bump after
install. Existing Sintra and fresh flashes keep the 24.05 state
semantics; that's correct.

All 8 nixosConfigurations (4 models × {live,installed}) evaluate
clean with zero deprecation warnings on 24.11.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-05-26 00:50:31 +02:00
commit 7c1011d382
9 changed files with 18 additions and 25 deletions

View file

@ -9,7 +9,7 @@ NixOS module + tooling for deploying bitSpire to ATM hardware (Sintra, tejo, dou
``` ```
deploy/nixos/ deploy/nixos/
├── bitspire-atm.nix # NixOS module: services.bitspire option tree + systemd unit + udev rules ├── 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 ├── live.nix # Live USB variant (squashfs + tmpfs root) — used by mkLiveConfig
├── hardware/ ├── hardware/
│ ├── douro.nix # Dell OptiPlex 9030 AIO (stock Douro motherboard; SATA SSD, eGalax touch) │ ├── douro.nix # Dell OptiPlex 9030 AIO (stock Douro motherboard; SATA SSD, eGalax touch)

View file

@ -109,12 +109,12 @@ fi
# Step 2: Format as FAT32 # Step 2: Format as FAT32
# FAT32 volume labels are max 11 chars, so we use a short label. # 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. # 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. # NixOS initrd also searches by /nix-store.squashfs file presence.
echo "" echo ""
echo "--- Step 2: Formatting FAT32 ---" echo "--- Step 2: Formatting FAT32 ---"
mkfs.fat -F32 -n 'NIXOS2405' "$PART_DEV" mkfs.fat -F32 -n 'NIXOS2411' "$PART_DEV"
echo "OK: FAT32 formatted" echo "OK: FAT32 formatted"
# Step 3: Mount ISO and USB partition # Step 3: Mount ISO and USB partition

View file

@ -42,12 +42,11 @@
}; };
hardware = { hardware = {
opengl = { graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver intel-media-driver
vaapiIntel libva-vdpau-driver
vaapiVdpau
libvdpau-va-gl libvdpau-va-gl
]; ];
}; };

View file

@ -52,14 +52,12 @@
fsType = "vfat"; fsType = "vfat";
}; };
# NixOS 24.05 uses hardware.opengl (not hardware.graphics)
hardware = { hardware = {
opengl = { graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver intel-media-driver
vaapiIntel libva-vdpau-driver
vaapiVdpau
libvdpau-va-gl libvdpau-va-gl
]; ];
}; };

View file

@ -78,14 +78,12 @@
fsType = "vfat"; fsType = "vfat";
}; };
# NixOS 24.05 uses hardware.opengl (not hardware.graphics)
hardware = { hardware = {
opengl = { graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver intel-media-driver
vaapiIntel libva-vdpau-driver
vaapiVdpau
libvdpau-va-gl libvdpau-va-gl
]; ];
}; };

View file

@ -109,14 +109,12 @@ in
}; };
# Intel GPU support # Intel GPU support
# NB: nixos-24.05 uses hardware.opengl, not hardware.graphics
hardware = { hardware = {
opengl = { graphics = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver intel-media-driver
vaapiIntel libva-vdpau-driver
vaapiVdpau
libvdpau-va-gl libvdpau-va-gl
]; ];
}; };

View file

@ -51,8 +51,8 @@ Conceptually:
| Layer | Source | Purpose | | 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`) | | **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.05 | systemd, Xorg, openbox, the `lamassu` user, sshd for provisioning | | **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 | | **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 | | **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 | | **Hardware-specific config** | `deploy/nixos/hardware/upboard.nix` (or `douro.nix`, `batm3.nix`) | udev rules, kernel modules, panel calibration |

8
flake.lock generated
View file

@ -483,16 +483,16 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1735563628, "lastModified": 1751274312,
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View file

@ -3,7 +3,7 @@
inputs = { inputs = {
# Stable NixOS for the ATM OS base # 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) # Unstable for Electron, Node.js, pnpm (latest versions)
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";