-
Notifications
You must be signed in to change notification settings - Fork 6
Options
Whether to enable router config.
Type: boolean
Default:
false
Example:
true
Declared by:
All interfaces managed by nixos-router
Type: attribute set of (submodule)
Default:
{ }
Declared by:
Add this device to this bridge
Type: null or ((submodule) or string convertible to it)
Default:
null
Declared by:
Name of the bridge
Type: string
Declared by:
VLANs to add to this bridge
Type: list of (submodule)
Default:
[ ]
Declared by:
should this match untagged traffic
Type: boolean
Default:
false
Declared by:
VLAN id
Type: signed integer
Declared by:
Patch those systemd services to depend on this interface
Type: list of (string or (attribute set))
Default:
[ ]
Declared by:
dhcpcd options
Type: submodule
Default:
{ }
Declared by:
Whether to enable dhcpcd (this option disables networking.useDHCP).
Type: boolean
Default:
false
Example:
true
Declared by:
dhcpcd text config
Type: strings concatenated with “\n”
Default:
""
Declared by:
Extra commands for interface initialization to be executed before bridge/address configuration.
Type: strings concatenated with “\n”
Default:
""
Example:
''
${pkgs.ethtool}/bin/ethtool --offload eth0 tso off
''
Declared by:
hostapd options
Type: submodule
Default:
{ }
Declared by:
Whether to enable hostapd.
Type: boolean
Default:
false
Example:
true
Declared by:
hostapd config
Type: attribute set
Default:
{ }
Declared by:
IPv4 config
Type: submodule
Default:
{ }
Declared by:
Whether to enable Enable IPv4 forwarding for this device.
Type: boolean
Default:
false
Example:
true
Declared by:
Device’s IPv4 addresses
Type: list of (submodule)
Default:
[ ]
Declared by:
IPv4 address
Type: string matching the pattern ((25[0-5]|(2[0-4]|10|1?[1-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|10|1?[1-9])?[0-9])
Declared by:
Whether to assign this address to the device. Default: no if the first hextet is zero, yes otherwise.
Type: null or boolean
Default:
null
Declared by:
IPv4 DNS servers associated with this device
Type: list of string
Default:
[ ]
Declared by:
IPv4 gateway addresses (optional)
Type: null or (list of string)
Default:
null
Declared by:
Kea IPv4 prefix-specific settings
Type: JSON value
Default:
{ }
Example:
{
option-data = [
{
code = 6;
csv-format = true;
data = "8.8.8.8, 8.8.4.4";
name = "domain-name-servers";
space = "dhcp4";
}
];
pools = [
{
pool = "192.168.1.15 - 192.168.1.200";
}
];
}
Declared by:
IPv4 prefix length
Type: signed integer
Declared by:
Kea options
Type: submodule
Default:
{ }
Declared by:
Whether to enable Kea for IPv4.
Type: boolean
Default:
false
Example:
true
Declared by:
Kea config file (takes precedence over settings)
Type: null or path
Default:
null
Declared by:
List of additional arguments to pass to the daemon.
Type: list of string
Default:
[ ]
Declared by:
Kea settings
Type: JSON value
Default:
{ }
Declared by:
IPv4 routes added when this device starts
Type: list of (submodule)
Default:
[ ]
Declared by:
Route args, i.e. everything after “ip route add”
Type: string or list of anything
Declared by:
rp_filter value for this device (see kernel docs for more info)
Type: null or signed integer
Default:
null
Declared by:
IPv6 config
Type: submodule
Default:
{ }
Declared by:
Whether to enable Enable IPv6 forwarding for this device.
Type: boolean
Default:
false
Example:
true
Declared by:
Device’s IPv6 addresses
Type: list of (submodule)
Default:
[ ]
Declared by:
IPv6 address
Type: string matching the pattern ([1-9a-f][0-9a-f]{0,3}:|0:){7}(:|([1-9a-f][0-9a-f]{0,3}|0))|([1-9a-f][0-9a-f]{0,3}:|0:){6}:([1-9a-f][0-9a-f]{0,3}|0)?|([1-9a-f][0-9a-f]{0,3}:|0:){5}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,2})|([1-9a-f][0-9a-f]{0,3}:|0:){4}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,3})|([1-9a-f][0-9a-f]{0,3}:|0:){3}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,4})|([1-9a-f][0-9a-f]{0,3}:|0:){2}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,5})|([1-9a-f][0-9a-f]{0,3}|0):(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,6})|:(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,7})
Declared by:
Whether to assign this address to the device. Default: no if the first hextet is zero, yes otherwise
Type: null or boolean
Default:
null
Declared by:
CoreRAD prefix-specific settings
Type: TOML value
Default:
{ }
Example:
{
autonomous = true;
on_link = true;
}
Declared by:
IPv6 DNS servers associated with this device
Type: list of (string or (submodule))
Default:
[ ]
Declared by:
IPv6 gateways information (optional)
Type: list of (string matching the pattern ([1-9a-f][0-9a-f]{0,3}:|0:){7}(:|([1-9a-f][0-9a-f]{0,3}|0))|([1-9a-f][0-9a-f]{0,3}:|0:){6}:([1-9a-f][0-9a-f]{0,3}|0)?|([1-9a-f][0-9a-f]{0,3}:|0:){5}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,2})|([1-9a-f][0-9a-f]{0,3}:|0:){4}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,3})|([1-9a-f][0-9a-f]{0,3}:|0:){3}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,4})|([1-9a-f][0-9a-f]{0,3}:|0:){2}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,5})|([1-9a-f][0-9a-f]{0,3}|0):(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,6})|:(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,7}) or (submodule))
Default:
[ ]
Declared by:
Kea prefix-specific settings
Type: JSON value
Default:
{ }
Example:
{
option-data = [
{
code = 23;
csv-format = true;
data = "aaaa::, bbbb::";
name = "dns-servers";
space = "dhcp6";
}
];
pools = [
{
pool = "fd01:: - fd01::ffff:ffff:ffff:ffff";
}
];
}
Declared by:
IPv6 prefix length
Type: signed integer
Declared by:
radvd prefix-specific settings
Type: attribute set of (boolean or string or signed integer)
Default:
{ }
Example:
{
AdvAutonomous = true;
AdvOnLink = true;
Base6to4Interface = "ppp0";
}
Declared by:
CoreRAD options
Type: submodule
Default:
{ }
Declared by:
Whether to enable CoreRAD.
Type: boolean
Default:
false
Example:
true
Declared by:
CoreRAD config file (takes precedence over settings)
Type: null or path
Default:
null
Declared by:
CoreRAD interface-specific settings
Type: TOML value
Default:
{ }
Declared by:
General CoreRAD settings
Type: TOML value
Default:
{ }
Example:
{
debug = {
address = "localhost:9430";
prometheus = true;
};
}
Declared by:
Kea options
Type: submodule
Default:
{ }
Declared by:
Whether to enable Kea for IPv6.
Type: boolean
Default:
false
Example:
true
Declared by:
Kea config file (takes precedence over settings)
Type: null or path
Default:
null
Declared by:
List of additional arguments to pass to the daemon.
Type: list of string
Default:
[ ]
Declared by:
Kea settings
Type: JSON value
Default:
{ }
Declared by:
radvd options
Type: submodule
Default:
{ }
Declared by:
Whether to enable radvd.
Type: boolean
Default:
false
Example:
true
Declared by:
radvd interface-specific settings
Type: attribute set of (boolean or string or signed integer)
Default:
{ }
Example:
{
UnicastOnly = true;
}
Declared by:
IPv6 routes added when this device starts
Type: list of (submodule)
Default:
[ ]
Declared by:
Route args, i.e. everything after “ip route add”
Type: string or list of anything
Declared by:
Network namespace name to create this device in
Type: null or string
Default:
null
Declared by:
This device’s systemd.link(5) link config
Type: attribute set
Default:
{ }
Declared by:
This device’s systemd.link(5) match config
Type: attribute set
Default:
{ }
Declared by:
Network namespace config (default = default namespace)
Type: attribute set of (submodule)
Declared by:
Start commands for this namespace.
Type: strings concatenated with “\n”
Default:
""
Declared by:
Stop commands for this namespace.
Type: strings concatenated with “\n”
Default:
""
Declared by:
Per-namespace nftables rules.
Type: submodule
Default:
{ }
Declared by:
JSON rules file to run on namespace start.
Type: null or path
Default:
null
Declared by:
JSON rules to run on namespace start.
Type: null or JSON value
Default:
null
Declared by:
JSON rules file to run on namespace stop and before the first start.
Type: null or path
Default:
null
Declared by:
JSON rules to run on namespace stop and before the first start.
Type: null or JSON value
Default:
null
Declared by:
Text rules file to run on namespace stop and before the first start. Make sure to set this to “flush ruleset” if you want to reset the old rules!
Type: null or path
Default:
null
Declared by:
Text rules to run on namespace stop and before the first start. Make sure to add “flush ruleset” as the first line if you want to reset old rules!
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
Text rules file to run on namespace start.
Type: null or path
Default:
null
Declared by:
Text rules to run on namespace start. Make sure to add “flush ruleset” as the first line if you want to reset old rules!
Type: null or strings concatenated with “\n”
Default:
null
Declared by:
IP routing rules added when this network namespace starts
Type: list of (submodule)
Default:
[ ]
Declared by:
Rule args, i.e. everything after “ip rule add”
Type: string or list of anything
Declared by:
Whether this rule is ipv6
Type: boolean
Declared by:
tunnels
Type: attribute set of (submodule)
Default:
{ }
Declared by:
local ip
Type: null or value “any” (singular enum) or string matching the pattern ((25[0-5]|(2[0-4]|10|1?[1-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|10|1?[1-9])?[0-9])|([1-9a-f][0-9a-f]{0,3}:|0:){7}(:|([1-9a-f][0-9a-f]{0,3}|0))|([1-9a-f][0-9a-f]{0,3}:|0:){6}:([1-9a-f][0-9a-f]{0,3}|0)?|([1-9a-f][0-9a-f]{0,3}:|0:){5}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,2})|([1-9a-f][0-9a-f]{0,3}:|0:){4}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,3})|([1-9a-f][0-9a-f]{0,3}:|0:){3}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,4})|([1-9a-f][0-9a-f]{0,3}:|0:){2}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,5})|([1-9a-f][0-9a-f]{0,3}|0):(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,6})|:(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,7})
Declared by:
tunnel mode
Type: null or one of “gre”, “ipip”, “isatap”, “sit”, “vti”
Declared by:
remote ip
Type: null or value “any” (singular enum) or string matching the pattern ((25[0-5]|(2[0-4]|10|1?[1-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|10|1?[1-9])?[0-9])|([1-9a-f][0-9a-f]{0,3}:|0:){7}(:|([1-9a-f][0-9a-f]{0,3}|0))|([1-9a-f][0-9a-f]{0,3}:|0:){6}:([1-9a-f][0-9a-f]{0,3}|0)?|([1-9a-f][0-9a-f]{0,3}:|0:){5}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,2})|([1-9a-f][0-9a-f]{0,3}:|0:){4}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,3})|([1-9a-f][0-9a-f]{0,3}:|0:){3}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,4})|([1-9a-f][0-9a-f]{0,3}:|0:){2}(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,5})|([1-9a-f][0-9a-f]{0,3}|0):(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,6})|:(:|(:[1-9a-f][0-9a-f]{0,3}|:0){1,7})
Declared by:
ttl
Type: null or value “inherit” (singular enum) or 8 bit unsigned integer; between 0 and 255 (both inclusive)
Declared by:
veth pairs
Type: attribute set of (submodule)
Default:
{ }
Declared by:
Name of veth peer (the second veth device created at the same time)
Type: string
Declared by: