2019-05-09 18:28:40 +02:00
|
|
|
{ lib, ... }:
|
2019-03-17 11:43:14 +01:00
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
{
|
|
|
|
options.machine = {
|
|
|
|
pkgs = mkOption {
|
2019-09-05 15:20:56 +02:00
|
|
|
type = types.listOf types.str;
|
2019-10-08 13:15:38 +02:00
|
|
|
default = [ "base" ];
|
2019-03-17 11:43:14 +01:00
|
|
|
description = ''
|
|
|
|
The list of metapackages to be installed.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
services = mkOption {
|
2019-09-05 15:20:56 +02:00
|
|
|
type = types.listOf types.str;
|
2019-10-08 13:15:38 +02:00
|
|
|
default = [];
|
2019-03-17 11:43:14 +01:00
|
|
|
description = ''
|
|
|
|
List of services to be enabled.
|
|
|
|
'';
|
|
|
|
};
|
2019-03-20 02:57:59 +01:00
|
|
|
conffiles = mkOption {
|
2019-09-05 15:20:56 +02:00
|
|
|
type = types.listOf types.str;
|
2019-10-08 13:15:38 +02:00
|
|
|
default = [ "zsh" ];
|
2019-03-20 02:57:59 +01:00
|
|
|
description = ''
|
|
|
|
List of configuration files to be enabled.
|
|
|
|
'';
|
|
|
|
};
|
2019-03-17 11:43:14 +01:00
|
|
|
hostName = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
description = ''
|
|
|
|
The Machines HostName
|
|
|
|
'';
|
|
|
|
};
|
2019-08-28 15:56:19 +02:00
|
|
|
secretPath = mkOption {
|
2019-09-05 15:20:56 +02:00
|
|
|
type = types.str;
|
2019-09-07 05:22:25 +02:00
|
|
|
default = (findFirst (elem: elem.prefix == "secretPath") { path = "/secret"; } builtins.nixPath).path;
|
2019-08-28 15:56:19 +02:00
|
|
|
description = ''
|
|
|
|
Path to you systems secret folder containing files with sensitive information.
|
|
|
|
'';
|
|
|
|
};
|
2019-04-13 00:05:39 +02:00
|
|
|
administrators = mkOption {
|
|
|
|
type = types.listOf types.attrs;
|
|
|
|
description = ''
|
|
|
|
List of administrative users.
|
|
|
|
'';
|
|
|
|
};
|
2019-03-23 02:50:48 +01:00
|
|
|
domain = mkOption {
|
|
|
|
type = types.str;
|
|
|
|
default = "localhost";
|
|
|
|
description = ''
|
|
|
|
The Machines domain name.
|
|
|
|
'';
|
|
|
|
};
|
2019-10-08 13:15:38 +02:00
|
|
|
extraDomains = mkOption {
|
|
|
|
type = types.listOf types.str;
|
|
|
|
default = [];
|
|
|
|
description = ''
|
|
|
|
Extra domains used in various services.
|
|
|
|
'';
|
|
|
|
};
|
2019-08-27 16:01:04 +02:00
|
|
|
mailAccounts = mkOption {
|
2019-08-27 23:32:46 +02:00
|
|
|
type = types.listOf types.attrs;
|
2019-10-08 13:15:38 +02:00
|
|
|
default = [];
|
2019-08-27 16:01:04 +02:00
|
|
|
description = ''
|
|
|
|
List of mail account user names.
|
|
|
|
'';
|
|
|
|
};
|
2019-06-22 23:58:08 +02:00
|
|
|
vHosts = mkOption {
|
|
|
|
type = types.listOf types.attrs;
|
2019-10-08 13:15:38 +02:00
|
|
|
default = [];
|
2019-06-22 23:58:08 +02:00
|
|
|
description = ''
|
|
|
|
Domain - Service mappings for nginx vHost config.
|
|
|
|
'';
|
|
|
|
};
|
2019-05-04 13:47:21 +02:00
|
|
|
desktop.wms = mkOption {
|
2019-09-05 15:20:56 +02:00
|
|
|
type = types.listOf types.str;
|
2019-05-04 13:47:21 +02:00
|
|
|
default = [];
|
|
|
|
description = ''
|
|
|
|
The list of wms to be enabled.
|
|
|
|
'';
|
|
|
|
};
|
2019-03-17 11:43:14 +01:00
|
|
|
};
|
2019-10-08 13:15:38 +02:00
|
|
|
imports = [
|
|
|
|
(mkAliasOptionModule [ "machine" "firewall" ] [ "networking" "firewall" ])
|
|
|
|
(mkAliasOptionModule [ "machine" "allowUnfree" ] [ "nixpkgs" "config" "allowUnfree" ])
|
|
|
|
];
|
2019-03-17 11:43:14 +01:00
|
|
|
}
|