Document the procolixVm options

This commit is contained in:
Nicolas Jeannerod 2025-01-31 17:23:04 +01:00
parent 4d00635e69
commit 0e6c96a2be
Signed by untrusted user: Niols
GPG key ID: 35DB9EC8886E1CB8

View file

@ -5,31 +5,77 @@ let
in
{
options = {
procolixVm = {
name = mkOption { };
domain = mkOption { default = "procolix.com"; };
options.procolixVm = {
name = mkOption {
description = ''
The name of the machine. Most of the time, this will look like `vm02XXX`
or `fediYYY`.
'';
};
ipv4 = {
address = mkOption { };
prefixLength = mkOption {
default = 24;
};
gateway = mkOption { default = "185.206.232.1"; };
};
domain = mkOption {
description = ''
The domain hosting the machine. Most of the time, this will be either of
`procolix.com`, `fediversity.eu` or `abundos.eu`.
'';
default = "procolix.com";
};
ipv6 = {
address = mkOption { };
prefixLength = mkOption { default = 64; };
gateway = mkOption { default = "2a00:51c0:12:1201::1"; };
};
hostPublicKey = mkOption {
ipv4 = {
address = mkOption {
description = ''
The host public key of the machine. It is used in particular
to filter Age secrets and only keep the relevant ones.
The IP address of the machine, version 4. It will be injected as a
value in `networking.interfaces.eth0`, but it will also be used to
communicate with the machine via NixOps4.
'';
};
prefixLength = mkOption {
description = ''
The subnet mask of the interface, specified as the number of bits in
the prefix.
'';
default = 24;
};
gateway = mkOption {
description = ''
The IP address of the default gateway.
'';
default = "185.206.232.1"; # FIXME: compute default from `address` and `prefixLength`.
};
};
ipv6 = {
address = mkOption {
description = ''
The IP address of the machine, version 6. It will be injected as a
value in `networking.interfaces.eth0`, but it will also be used to
communicate with the machine via NixOps4.
'';
};
prefixLength = mkOption {
description = ''
The subnet mask of the interface, specified as the number of bits in
the prefix.
'';
default = 64;
};
gateway = mkOption {
description = ''
The IP address of the default gateway.
'';
default = "2a00:51c0:12:1201::1"; # FIXME: compute default from `address` and `prefixLength`.
};
};
hostPublicKey = mkOption {
description = ''
The host public key of the machine. It is used to filter Age secrets and
only keep the relevant ones, and to feed to NixOps4.
'';
};
};
}