- Consolidate imperative system settings into /etc/nixos/state.json - Implement nomarchy.system options for DNS, Wifi powersave, Timezone, and hardware features - Add declarative browser policies for Chromium/Brave based on theme - Update toggles scripts to mutate system JSON and run sys-update --impure - Remove obsolete imperative browser theme and redundant system modules
51 lines
1.3 KiB
Nix
51 lines
1.3 KiB
Nix
{ lib, ... }:
|
|
|
|
{
|
|
options.nomarchy.system = {
|
|
dns = lib.mkOption {
|
|
type = lib.types.enum [ "Cloudflare" "Google" "DHCP" "Custom" ];
|
|
default = "DHCP";
|
|
description = "Selected DNS provider.";
|
|
};
|
|
customDns = lib.mkOption {
|
|
type = lib.types.listOf lib.types.str;
|
|
default = [];
|
|
description = "List of custom DNS servers.";
|
|
};
|
|
wifi = {
|
|
powersave = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Whether to enable wifi power saving.";
|
|
};
|
|
};
|
|
timezone = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "UTC";
|
|
description = "System timezone.";
|
|
};
|
|
features = {
|
|
fingerprint = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether to enable fingerprint support.";
|
|
};
|
|
fido2 = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether to enable FIDO2 support.";
|
|
};
|
|
hybridGPU = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether to enable hybrid GPU support (supergfxd).";
|
|
};
|
|
};
|
|
theme = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "nord";
|
|
description = "Selected system theme.";
|
|
};
|
|
};
|
|
}
|