# NixOS configuration The default package set is NixOS 26.05. Home Manager and AAGL use their matching 26.05 release branches. `drivebystation-nix` uses the standard `pkgs.linuxPackages` kernel from stable, including matching external modules. ## Packages from unstable `inputs.nixpkgs-unstable` is a separate package set, pinned in `flake.lock`. Select individual applications explicitly, as with Trilium and JetBrains Toolbox in the desktop host: ```nix unstablePkgs.trilium-desktop ``` The host defines `unstablePkgs` by importing the separate input with `allowUnfree = true`. Use `pkgs.` for stable packages. Unstable applications retain their own dependencies; the system package set stays on stable. Update the stable inputs and the application exceptions independently: ```sh nix flake update nixpkgs home-manager aagl nix flake update nixpkgs-unstable ``` The existing Mutter tearing override remains experimental. Its compatibility and B580 graphics behavior require testing when changing the desktop stack. ## Validate and boot ```sh nix build .#nixosConfigurations.drivebystation-nix.config.system.build.toplevel --no-link sudo nixos-rebuild boot --flake .#drivebystation-nix ``` Only run the boot command after the build succeeds. Keep the previous working generation available in the boot menu, then test networking, graphics, and the webcam loopback after reboot. Git restores configuration sources; booting the previous generation restores the previous system closure. Whole-flake checks currently also evaluate an unfinished WSL host referencing the disabled `nixos-wsl` input. Validate the desktop target directly until that separate host configuration is repaired. ## Migration validation (2026-10-17) The complete `drivebystation-nix` system built successfully without activation. Its closure contains Linux 6.18.56, patched Mutter 50.5, GNOME Shell 50.5, libdrm 2.4.133, r8125 9.016.01, and v4l2loopback 0.15.3. The explicit unstable applications are Trilium 0.106.0 and JetBrains Toolbox 3.8.1.88030. Nix syntax and Git whitespace checks pass. `nix flake check --no-build` stops at the existing WSL input error described above. The edited Nix files retain the repository's existing formatting; `nixpkgs-fmt --check` reports formatting differences, including on the original flake before migration. Boot, networking, B580 graphics, and tearing behavior still require runtime testing. The migration does not add Intel tearing kernel patches.