devices.srv1.node0: set network

This commit is contained in:
陈浩南 2024-09-15 16:21:23 +08:00
parent 7900d593da
commit 8d8f4633b5
2 changed files with 13 additions and 4 deletions

View File

@ -4,7 +4,15 @@ inputs:
{
nixos =
{
system.nixpkgs.march = "cascadelake";
system =
{
nixpkgs.march = "cascadelake";
networking.networkd.static =
{
eno145 = { ip = "192.168.1.10"; mask = 24; gateway = "192.168.1.1"; };
eno146 = { ip = "192.168.178.10"; mask = 24; };
};
};
packages.vasp = null;
services =
{

View File

@ -16,7 +16,7 @@ inputs:
{
ip = mkOption { type = types.nonEmptyStr; };
mask = mkOption { type = types.ints.unsigned; };
gateway = mkOption { type = types.nonEmptyStr; };
gateway = mkOption { type = types.nullOr types.nonEmptyStr; default = null; };
dns = mkOption { type = types.nonEmptyStr; default = null; };
};});
default = {};
@ -91,8 +91,9 @@ inputs:
value =
{
matchConfig.Name = network.name;
address = [ "${network.ip}/${builtins.toString network.mask}" ];
routes = [{ routeConfig.Gateway = network.gateway; }];
address = [ "${network.value.ip}/${builtins.toString network.value.mask}" ];
routes = inputs.lib.mkIf (network.value.gateway != null)
[{ Gateway = network.value.gateway; Destination = "0.0.0.0/0"; }];
linkConfig.RequiredForOnline = "routable";
};
})