Full replacement of the previous iteration, rebuilt around three ideas:
- Pure evaluation: theme-state.json lives inside the flake and is read
via the nomarchy.stateFile option — no --impure, ever.
- All-Home-Manager theming: `nomarchy-theme-sync apply` writes the JSON
and runs `home-manager switch`; every theme change is one atomic,
rollbackable generation. Wallpaper (swww) is the sole runtime piece.
- Flat, downstream-first layout: modules/{nixos,home} with one
options.nix each, exported as nixosModules/homeModules + overlay +
flake template; system (nixos-rebuild) and desktop (home-manager
switch) rebuild paths are fully split.
Ships 21 themes imported from the previous iteration (palettes,
wallpapers, btop themes, six whole-swap Waybar identities), Stylix for
the GTK/Qt/cursor long tail, a live ISO target with offline theme
switching, and docs/TESTING.md with the QEMU verification workflow.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
26 lines
793 B
Nix
26 lines
793 B
Nix
# Your machine: bootloader, hostname, users, services.
|
|
# The distro itself comes from nomarchy.nixosModules.nomarchy — override
|
|
# any of its defaults here with plain NixOS options (they use mkDefault),
|
|
# or via the nomarchy.system.* toggles.
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
networking.hostName = "my-nomarchy";
|
|
time.timeZone = "UTC";
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
users.users.me = { # <- keep in sync with `username` in flake.nix
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" "networkmanager" "video" "input" ];
|
|
};
|
|
|
|
# Examples:
|
|
# nomarchy.system.greeter.enable = false; # bring your own login manager
|
|
# environment.systemPackages = [ pkgs.htop ];
|
|
|
|
system.stateVersion = "26.05";
|
|
}
|