1 {pkgs, lib, config, system, ...}:
2 let inherit (lib) types;
3 inherit (config.services) dovecot2;
6 <nixsys/install/modules.nix>
16 enable = lib.mkEnableOption "friot";
19 example = "example.coop";
20 description = "Fully Qualified Domain Name of the machine.";
22 networking.fqdn = lib.mkOption {
24 example = "some.example.coop";
25 default = "${config.networking.hostName}.${config.networking.domain}";
26 description = "Fully Qualified Domain Name of the machine.";
28 networking.zones = lib.mkOption {
29 type = types.attrsOf (types.submodule ({zone, ...}: {
31 iface = lib.mkOption {
33 description = "Interface name.";
38 description = "Static IPv4 address of the machine.";
43 description = "Static IPv6 address of the machine.";
51 fqdn = "commonade.coop";
53 domain = "commonade.coop";
55 #fqdn = "machine1.logic.coop";
59 enable = false; # NOTE: useless on this machine, and CPU intensive.
80 builtins.attrNames dovecot2.domains;
83 "root@${config.networking.domain}" = [ "test@${config.networking.domain}" ];
84 "postmaster@${config.networking.domain}" = [ "test@${config.networking.domain}" ];
85 "abuse@${config.networking.domain}" = [ "test@${config.networking.domain}" ];
88 "${config.networking.domain}" = {
91 password = builtins.extraBuiltins.pass "${config.networking.domain}/dovecot2/test";
92 # "${config.networking.domain}/dovecot2/test";
93 # "{SSHA512}uyjL1KYx4z7HpfNvnKzuVxpMLD2KVueGGBvOcj7AF1EZCTVhT++IIKUVOC4xpZtWdqVD0OVmZqgYr2qpn/3t3Aj4oU0=";
94 aliases = ["test-alias@${config.networking.domain}"];
102 systemPackages = with pkgs; [