# System-level `nomarchy.system.*` options. # # Deliberately small: only things a downstream user plausibly disagrees # with get a toggle. Everything else in the system module is set with # lib.mkDefault, so plain NixOS options override it natively. { lib, ... }: { options.nomarchy.system = { greeter.enable = lib.mkEnableOption "the greetd/tuigreet login screen" // { default = true; }; greeter.autoLogin = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; example = "ada"; description = '' Log this user straight into Hyprland on boot (greetd initial_session); logging out lands on the normal greeter. The installer sets it on LUKS-encrypted machines — the disk passphrase already gates access, a second prompt is ceremony. ''; }; plymouth.enable = lib.mkEnableOption '' the Nomarchy Plymouth boot splash (logo + progress + LUKS prompt), background-tinted from theme-state.json via nomarchy.system.stateFile. Recolors on system rebuilds — theme switches don't touch the initrd'' // { default = true; }; stateFile = lib.mkOption { type = lib.types.nullOr lib.types.path; default = null; example = lib.literalExpression "./theme-state.json"; description = '' theme-state.json for the system-side consumers (currently the Plymouth splash background). lib.mkFlake wires it automatically from your flake; null falls back to the Tokyo Night base color. ''; }; audio.enable = lib.mkEnableOption "the Pipewire audio stack" // { default = true; }; bluetooth.enable = lib.mkEnableOption "Bluetooth support with blueman" // { default = true; }; snapper.enable = lib.mkEnableOption '' hourly/daily BTRFS timeline snapshots of / via snapper, plus the `nixos-rebuild-snap` pre-rebuild-snapshot helper. No-op unless the root filesystem is BTRFS with a /.snapshots subvolume (the installer creates one)''; }; }