Files
Nomarchy/features/default.nix
Bernardo Magri 3bdfc3552e 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>
2026-06-06 15:46:17 +01:00

78 lines
2.2 KiB
Nix

{ config, pkgs, inputs, lib, ... }:
let
nomarchyLib = import ../lib { inherit lib; };
in
{
imports = [
inputs.nix-colors.homeManagerModules.default
inputs.walker.homeManagerModules.default
../core/home
../themes/engine/stylix-compat.nix
../themes/engine/loader.nix
../themes/engine/files.nix
../themes/engine/scripts.nix
../themes/engine/stylix.nix
./apps/alacritty/default.nix
./apps/btop/default.nix
./apps/elephant/default.nix
./apps/ghostty/default.nix
./apps/kitty/default.nix
./apps/lazygit/default.nix
./apps/opencode/default.nix
./apps/tmux/default.nix
./apps/vscode.nix
./apps/walker.nix
./apps/swayosd.nix
./desktop/nightlight.nix
./desktop/idle.nix
./desktop/hyprland/default.nix
./desktop/waybar/default.nix
./scripts/default.nix
./scripts/battery-monitor.nix
];
colorScheme = lib.mkDefault (nomarchyLib.getColorScheme config.nomarchy.theme);
# Enable neovim program module (required for stylix integration)
programs.neovim.enable = lib.mkDefault true;
# NOT mkDefault: home.packages is a list that MERGES across modules. At
# mkDefault priority this whole curated list is dropped the moment any
# other module sets home.packages at normal priority (features/scripts,
# the installer's profile packages), silently removing firefox, mako,
# hyprlock, mpv, etc. — which broke notifications and the lock screen.
home.packages = (with pkgs; [
# Hyprland ecosystem
mako # Notification daemon
hyprlock # Lock screen
# Screenshot and clipboard
wl-clipboard
grim
slurp
# Hardware control
brightnessctl
playerctl
pamixer
# Utilities
jq
xmlstarlet
mise
gum # TUI components for scripts
xdg-terminal-exec
swaybg
rofi # rofi-wayland was merged into rofi upstream
calcurse # TUI calendar
# Theming — cursor package stays here; icon theme packages are pulled in
# dynamically by themes/engine/stylix.nix via nomarchyLib.iconThemePackage
# so switching to e.g. summer-night auto-installs everforest-gtk-theme.
bibata-cursors
]);
}