feat: bump to NixOS 26.05 (Yarara) — WIP, desktop unverified on hardware
Bumps nixpkgs nixos-25.11 -> nixos-26.05, home-manager release-25.11 -> release-26.05, and pins stylix to release-26.05 (was unpinned master). `nix flake check --no-build` and `nomarchy-eval-matrix` are both clean and the full system builds (nixos-system-nomarchy-26.05). Breaking-change fixes required by 26.05: - stylix-compat: drop the `programs.neovim.initLua` shim — HM 26.05 declares it natively, so the shim was a duplicate-option error. - swww was renamed to awww (binaries gone, no `init` subcommand). Dropped swww entirely and unified the wallpaper path on swaybg (the daemon this distro actually runs): nomarchy-theme-bg-next now delegates to nomarchy-theme-bg-set, swaybg added to the theme-engine script deps, swww removed from package lists. - default config: add a placeholder `fileSystems."/"` — 26.05's systemd stage-1 forces fsType during plain toplevel eval (the VM build overrides it). - services.resolved: extraConfig removed, domains/fallbackDns renamed -> migrated to settings.Resolve.* (RFC42). - systemd.sleep.extraConfig removed -> settings.Sleep.HibernateDelaySec (RFC42). - X11 'virtio' video driver removed -> dropped from vm-guest.nix and nomarchy-live.nix (modesetting drives virtio-gpu). - nomarchy-eval-matrix: define /persist + /home in the impermanence scenarios (26.05 maps fsType over every neededForBoot filesystem). - README/MIGRATION/installer: stale swww references -> swaybg. KNOWN BLOCKER (why this is on a branch, not main): In a headless QEMU VM, Hyprland boots and inits GL (virgl) fine but is OOM-killed after ~19s (3.4 GB peak). Likely a no-display-consumer artifact of headless rendering (unthrottled frames), but a real Hyprland-26.05 memory regression can't be ruled out without a real display. Verify on real hardware (a fresh ISO install) before merging to main; if the desktop is stable there, the OOM was the headless VM and this can merge. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -50,6 +50,16 @@ let
|
||||
|
||||
forced = x: (builtins.tryEval (builtins.seq x true)).success;
|
||||
|
||||
# Real impermanence installs define /persist + /home via disko; the eval
|
||||
# scenarios must too, because nixpkgs 26.05's systemd stage-1 maps fsType
|
||||
# over every neededForBoot filesystem and impermanence marks both
|
||||
# neededForBoot (core/system/impermanence.nix). Without device+fsType here,
|
||||
# the toplevel eval throws on a config that has no disko layer.
|
||||
impermanenceFs = {
|
||||
"/persist" = { device = "/dev/disk/by-label/persist"; fsType = "ext4"; };
|
||||
"/home" = { device = "/dev/disk/by-label/home"; fsType = "ext4"; };
|
||||
};
|
||||
|
||||
# Combined opt-in scenarios. Each enables as many compatible toggles as
|
||||
# possible so CI does ~3 full-system evals, not one per toggle. Home-side
|
||||
# options go under home-manager.users.nomarchy.nomarchy.*.
|
||||
@@ -75,6 +85,7 @@ let
|
||||
keymap = { layout = "de"; variant = "nodeadkeys"; };
|
||||
toggles = { waybar = false; idle = false; nightlight = false; };
|
||||
};
|
||||
fileSystems = impermanenceFs;
|
||||
};
|
||||
|
||||
# desktop preset — conflicts with the laptop formFactor, so its own eval.
|
||||
@@ -85,6 +96,7 @@ let
|
||||
# impermanence multi-disk variant (alternate mainLuksName).
|
||||
"impermanence-multi" = {
|
||||
nomarchy.system.impermanence = { enable = true; mainLuksName = "crypted_main"; };
|
||||
fileSystems = impermanenceFs;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user