# Nomarchy State Schema # # Defines the default values for every state.json field that's consumed by a # Nix option. Read by core/{system,home}/options.nix (for `default = …`) and # by core/{system,home}/state.nix (for `or` fallbacks). # # state.json may also hold runtime-only fields that aren't declared here — # notably `welcome_done`, managed by `nomarchy-welcome`. Those are intentionally # off-schema because no Nix option reads them; the schema is the "consumed by # Nix" surface, not the full state.json shape. { lib }: { # Home state defaults (user preferences) home = { # Theme and appearance theme = "summer-night"; wallpaper = ""; font = "JetBrainsMono Nerd Font"; panelPosition = "top"; nightlightTemperature = 4000; # Feature toggles suspend = true; screensaver = true; idle = true; nightlight = false; waybar = true; # Hyprland window manager settings hyprland = { gaps_in = 5; gaps_out = 10; border_size = 2; }; }; # System state defaults (system-level configuration) system = { # Theme (can differ from home for system-level theming) theme = "summer-night"; # Timezone timezone = "UTC"; # DNS configuration dns = "DHCP"; # Options: "DHCP", "Cloudflare", "Google", "Custom" customDns = []; # Wi-Fi settings wifi = { powersave = true; }; # Optional features features = { fingerprint = false; fido2 = false; hybridGPU = false; }; }; }