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>
25 lines
810 B
Nix
25 lines
810 B
Nix
{ config, lib, ... }:
|
|
|
|
let
|
|
cfg = config.nomarchy.system.hibernation;
|
|
in
|
|
{
|
|
config = lib.mkIf cfg.enable {
|
|
# Wait this long after suspend before hibernating, and use the same
|
|
# delay as the idle-action timeout so the two paths agree.
|
|
# nixpkgs 26.05 replaced systemd.sleep.extraConfig with the RFC42-style
|
|
# `settings` attrset.
|
|
systemd.sleep.settings.Sleep.HibernateDelaySec = cfg.idleMinutes * 60;
|
|
|
|
services.logind = {
|
|
settings.Login = {
|
|
HandleLidSwitch = lib.mkDefault "suspend-then-hibernate";
|
|
HandleLidSwitchExternalPower = lib.mkDefault "suspend";
|
|
HandlePowerKey = lib.mkDefault "hibernate";
|
|
IdleAction = lib.mkDefault "suspend-then-hibernate";
|
|
IdleActionSec = lib.mkDefault (toString (cfg.idleMinutes * 60));
|
|
};
|
|
};
|
|
};
|
|
}
|