{ lib, ... }: let inherit (lib) mkOption mkEnableOption mkIf types ; winType = types.submodule ( { config, ... }: { options = { dualboot = { enable = mkEnableOption "dual boot"; linuxPercentage = mkOption { type = types.number; description = "The percentage of the disk size reserved for Linux."; }; }; legacyIconSpacing = mkEnableOption "legacy icon spacing" // { default = true; }; dynamicLighting = mkEnableOption "dynamic lighting"; adware = mkEnableOption "adware"; # Fuck you for displaying ads on an OS I fricking paid for! }; config = { dualboot.linuxPercentage = mkIf (!config.dualboot.enable) 0; }; }); in { options = { valhalla = { windows = mkOption { type = winType; description = "The options for setting up Windows."; default = {}; }; }; }; }