diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix
index 08680b51780..b398f346b94 100644
--- a/nixos/modules/services/networking/xinetd.nix
+++ b/nixos/modules/services/networking/xinetd.nix
@@ -65,71 +65,73 @@ in
A list of services provided by xinetd.
'';
- type = types.listOf types.optionSet;
+ type = with types; listOf (submodule ({
- options = {
+ options = {
+
+ name = mkOption {
+ type = types.string;
+ example = "login";
+ description = "Name of the service.";
+ };
+
+ protocol = mkOption {
+ type = types.string;
+ default = "tcp";
+ description =
+ "Protocol of the service. Usually tcp or udp.";
+ };
+
+ port = mkOption {
+ type = types.int;
+ default = 0;
+ example = 123;
+ description = "Port number of the service.";
+ };
+
+ user = mkOption {
+ type = types.string;
+ default = "nobody";
+ description = "User account for the service";
+ };
+
+ server = mkOption {
+ type = types.string;
+ example = "/foo/bin/ftpd";
+ description = "Path of the program that implements the service.";
+ };
+
+ serverArgs = mkOption {
+ type = types.string;
+ default = "";
+ description = "Command-line arguments for the server program.";
+ };
+
+ flags = mkOption {
+ type = types.string;
+ default = "";
+ description = "";
+ };
+
+ unlisted = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether this server is listed in
+ /etc/services. If so, the port
+ number can be omitted.
+ '';
+ };
+
+ extraConfig = mkOption {
+ type = types.string;
+ default = "";
+ description = "Extra configuration-lines added to the section of the service.";
+ };
- name = mkOption {
- type = types.string;
- example = "login";
- description = "Name of the service.";
};
- protocol = mkOption {
- type = types.string;
- default = "tcp";
- description =
- "Protocol of the service. Usually tcp or udp.";
- };
-
- port = mkOption {
- type = types.int;
- default = 0;
- example = 123;
- description = "Port number of the service.";
- };
-
- user = mkOption {
- type = types.string;
- default = "nobody";
- description = "User account for the service";
- };
-
- server = mkOption {
- type = types.string;
- example = "/foo/bin/ftpd";
- description = "Path of the program that implements the service.";
- };
-
- serverArgs = mkOption {
- type = types.string;
- default = "";
- description = "Command-line arguments for the server program.";
- };
-
- flags = mkOption {
- type = types.string;
- default = "";
- description = "";
- };
-
- unlisted = mkOption {
- type = types.bool;
- default = false;
- description = ''
- Whether this server is listed in
- /etc/services. If so, the port
- number can be omitted.
- '';
- };
-
- extraConfig = mkOption {
- type = types.string;
- default = "";
- description = "Extra configuration-lines added to the section of the service.";
- };
-
- };
+ }));
};