`lib/state-schema.nix` declared `system.features.makima = false` but the field was never wired anywhere: no matching option in core/system/options.nix, no consumer in core/system/state.nix, no references in the wider tree. Schema-only ghost — removed. Found during Pillar 8 audit of core/system modules.
64 lines
1.5 KiB
Nix
64 lines
1.5 KiB
Nix
# 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;
|
|
};
|
|
};
|
|
|
|
}
|