|
|
|
|
@@ -916,10 +916,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { SpeedMeter = true; ManageForeignRoutingPolicyRules = false; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.global.sectionNetwork;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Network]</literal> section of the networkd config.
|
|
|
|
|
See <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Network]` section of the networkd config.
|
|
|
|
|
See {manpage}`networkd.conf(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -927,10 +927,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { DUIDType = "vendor"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.global.sectionDHCPv4;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[DHCPv4]</literal> section of the networkd config.
|
|
|
|
|
See <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[DHCPv4]` section of the networkd config.
|
|
|
|
|
See {manpage}`networkd.conf(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -938,10 +938,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { DUIDType = "vendor"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.global.sectionDHCPv6;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[DHCPv6]</literal> section of the networkd config.
|
|
|
|
|
See <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[DHCPv6]` section of the networkd config.
|
|
|
|
|
See {manpage}`networkd.conf(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
@@ -960,10 +960,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { MACAddress = "00:ff:ee:aa:cc:dd"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.link.sectionLink;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Link]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Link]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.link(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -974,10 +974,10 @@ let
|
|
|
|
|
wireguardPeerConfig = mkOption {
|
|
|
|
|
default = {};
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionWireGuardPeer;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[WireGuardPeer]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[WireGuardPeer]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
@@ -988,10 +988,10 @@ let
|
|
|
|
|
netdevConfig = mkOption {
|
|
|
|
|
example = { Name = "mybridge"; Kind = "bridge"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionNetdev;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Netdev]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Netdev]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -999,10 +999,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Id = 4; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionVLAN;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[VLAN]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[VLAN]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1010,20 +1010,20 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Mode = "private"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionMACVLAN;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[MACVLAN]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[MACVLAN]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
vxlanConfig = mkOption {
|
|
|
|
|
default = {};
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionVXLAN;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[VXLAN]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[VXLAN]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1031,10 +1031,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Remote = "192.168.1.1"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionTunnel;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Tunnel]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Tunnel]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1042,10 +1042,10 @@ let
|
|
|
|
|
default = { };
|
|
|
|
|
example = { Port = 9001; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionFooOverUDP;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[FooOverUDP]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[FooOverUDP]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1053,10 +1053,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Name = "veth2"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionPeer;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Peer]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Peer]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1064,10 +1064,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { User = "openvpn"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionTun;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Tun]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Tun]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1075,10 +1075,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { User = "openvpn"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionTap;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Tap]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Tap]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1090,12 +1090,12 @@ let
|
|
|
|
|
FirewallMark = 42;
|
|
|
|
|
};
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionWireGuard;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[WireGuard]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
Use <literal>PrivateKeyFile</literal> instead of
|
|
|
|
|
<literal>PrivateKey</literal>: the nix store is
|
|
|
|
|
`[WireGuard]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
Use `PrivateKeyFile` instead of
|
|
|
|
|
`PrivateKey`: the nix store is
|
|
|
|
|
world-readable.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
@@ -1110,12 +1110,12 @@ let
|
|
|
|
|
PersistentKeepalive = 15;
|
|
|
|
|
};}];
|
|
|
|
|
type = with types; listOf (submodule wireguardPeerOptions);
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each item in this array specifies an option in the
|
|
|
|
|
<literal>[WireGuardPeer]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
Use <literal>PresharedKeyFile</literal> instead of
|
|
|
|
|
<literal>PresharedKey</literal>: the nix store is
|
|
|
|
|
`[WireGuardPeer]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
Use `PresharedKeyFile` instead of
|
|
|
|
|
`PresharedKey`: the nix store is
|
|
|
|
|
world-readable.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
@@ -1124,10 +1124,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Mode = "802.3ad"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionBond;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Bond]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Bond]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1135,10 +1135,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { InterfaceId = 1; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionXfrm;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Xfrm]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Xfrm]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1146,12 +1146,12 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Table = 2342; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionVRF;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[VRF]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[VRF]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
A detailed explanation about how VRFs work can be found in the
|
|
|
|
|
<link xlink:href="https://www.kernel.org/doc/Documentation/networking/vrf.txt">kernel docs</link>.
|
|
|
|
|
[kernel docs](https://www.kernel.org/doc/Documentation/networking/vrf.txt).
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1162,10 +1162,10 @@ let
|
|
|
|
|
RoutingAlgorithm = "batman-v";
|
|
|
|
|
};
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.netdev.sectionBatmanAdvanced;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[BatmanAdvanced]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[BatmanAdvanced]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.netdev(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1176,10 +1176,10 @@ let
|
|
|
|
|
addressConfig = mkOption {
|
|
|
|
|
example = { Address = "192.168.0.100/24"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionAddress;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Address]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Address]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
@@ -1191,10 +1191,10 @@ let
|
|
|
|
|
default = { };
|
|
|
|
|
example = { Table = 10; IncomingInterface = "eth1"; Family = "both"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionRoutingPolicyRule;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[RoutingPolicyRule]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[RoutingPolicyRule]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
@@ -1206,10 +1206,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Gateway = "192.168.0.1"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionRoute;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Route]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Route]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
@@ -1221,10 +1221,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Prefix = "fd00::/64"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6Prefix;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[IPv6Prefix]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[IPv6Prefix]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
@@ -1236,13 +1236,13 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPServerStaticLease;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[DHCPServerStaticLease]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[DHCPServerStaticLease]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
|
|
|
|
|
Make sure to configure the corresponding client interface to use
|
|
|
|
|
<literal>ClientIdentifier=mac</literal>.
|
|
|
|
|
`ClientIdentifier=mac`.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
@@ -1254,10 +1254,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Unmanaged = true; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionLink;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Link]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Link]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1265,10 +1265,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { Description = "My Network"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionNetwork;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[Network]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[Network]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1283,10 +1283,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { UseDNS = true; UseRoutes = true; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPv4;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[DHCPv4]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[DHCPv4]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1294,10 +1294,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { UseDNS = true; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPv6;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[DHCPv6]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[DHCPv6]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1305,10 +1305,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { SubnetId = "auto"; Announce = true; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPv6PrefixDelegation;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[DHCPv6PrefixDelegation]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[DHCPv6PrefixDelegation]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1316,10 +1316,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { UseDNS = true; DHCPv6Client = "always"; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6AcceptRA;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[IPv6AcceptRA]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[IPv6AcceptRA]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1327,10 +1327,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { PoolOffset = 50; EmitDNS = false; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionDHCPServer;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[DHCPServer]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[DHCPServer]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1345,10 +1345,10 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { EmitDNS = true; Managed = true; OtherInformation = true; };
|
|
|
|
|
type = types.addCheck (types.attrsOf unitOption) check.network.sectionIPv6SendRA;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Each attribute in this set specifies an option in the
|
|
|
|
|
<literal>[IPv6SendRA]</literal> section of the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
`[IPv6SendRA]` section of the unit. See
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1356,9 +1356,9 @@ let
|
|
|
|
|
default = [];
|
|
|
|
|
example = [ { dhcpServerStaticLeaseConfig = { MACAddress = "65:43:4a:5b:d8:5f"; Address = "192.168.1.42"; }; } ];
|
|
|
|
|
type = with types; listOf (submodule dhcpServerStaticLeaseOptions);
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of DHCPServerStaticLease sections to be added to the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1366,9 +1366,9 @@ let
|
|
|
|
|
default = [];
|
|
|
|
|
example = [ { ipv6PrefixConfig = { AddressAutoconfiguration = true; OnLink = true; }; } ];
|
|
|
|
|
type = with types; listOf (submodule ipv6PrefixOptions);
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of ipv6Prefix sections to be added to the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1399,135 +1399,135 @@ let
|
|
|
|
|
address = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of addresses to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
gateway = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of gateways to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
dns = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of dns servers to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ntp = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of ntp servers to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
bridge = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of bridge interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
bond = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of bond interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
vrf = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of vrf interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
vlan = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of vlan interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
macvlan = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of macvlan interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
vxlan = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of vxlan interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
tunnel = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of tunnel interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
xfrm = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = types.listOf types.str;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of xfrm interfaces to be added to the network section of the
|
|
|
|
|
unit. See <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
unit. See {manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
addresses = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = with types; listOf (submodule addressOptions);
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of address sections to be added to the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
routingPolicyRules = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = with types; listOf (submodule routingPolicyRulesOptions);
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of routing policy rules sections to be added to the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
routes = mkOption {
|
|
|
|
|
default = [ ];
|
|
|
|
|
type = with types; listOf (submodule routeOptions);
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
A list of route sections to be added to the unit. See
|
|
|
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
{manpage}`systemd.network(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -1552,9 +1552,9 @@ let
|
|
|
|
|
default = {};
|
|
|
|
|
example = { foo = 27; };
|
|
|
|
|
type = with types; attrsOf int;
|
|
|
|
|
description = ''
|
|
|
|
|
description = lib.mdDoc ''
|
|
|
|
|
Defines route table names as an attrset of name to number.
|
|
|
|
|
See <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
|
|
|
|
|
See {manpage}`networkd.conf(5)` for details.
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|