{ lib, ... }: with lib; { options.machine = { allowUnfree = mkOption { type = types.bool; description = '' Wether to allow the installation of unfree packages. ''; }; pkgs = mkOption { type = types.listOf types.string; description = '' The list of metapackages to be installed. ''; }; services = mkOption { type = types.listOf types.string; description = '' List of services to be enabled. ''; }; conffiles = mkOption { type = types.listOf types.string; description = '' List of configuration files to be enabled. ''; }; hostName = mkOption { type = types.str; description = '' The Machines HostName ''; }; administrators = mkOption { type = types.listOf types.attrs; description = '' List of administrative users. ''; }; domain = mkOption { type = types.str; default = "localhost"; description = '' The Machines domain name. ''; }; firewall = { allowPing = mkOption { type = types.bool; description = '' See networking.firewall.allowPing. ''; }; allowedUDPPorts = mkOption { type = types.listOf types.int; description = '' See networking.firewall.allowerdUDPPorts. ''; }; allowedTCPPorts = mkOption { type = types.listOf types.int; description = '' See networking.firewall.allowedTCPPorts. ''; }; allowedUDPPortRanges = mkOption { type = types.listOf (types.attrsOf types.int); description = '' See networking.firewall.allowerdUDPPortRanges. ''; }; allowedTCPPortRanges = mkOption { type = types.listOf (types.attrsOf types.int); description = '' See networking.firewall.allowedTCPPortRanges. ''; }; }; desktop.wms = mkOption { type = types.listOf types.string; default = []; description = '' The list of wms to be enabled. ''; }; }; }