[#33] Refactored existing network config #34
3 changed files with 50 additions and 17 deletions
|
@ -4,7 +4,7 @@
|
|||
../../modules/jitsi.nix
|
||||
../../roles
|
||||
../../roles/vm.nix
|
||||
./network.nix
|
||||
../../modules/vmNetwork.nix
|
||||
];
|
||||
|
||||
services.mathebau-jitsi = {
|
||||
|
@ -14,5 +14,6 @@
|
|||
|
||||
# System configuration here
|
||||
networking.hostName = "ghatanothoa";
|
||||
vmNetwork.ipv4 = "192.168.0.25";
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
# We sohuld put that config somewhere in roles and give it a parameter or something,
|
||||
# everyone gets the same nameserver and the same prefixLength and address vs defaultGateway alsways
|
||||
# depend on the same thing
|
||||
{
|
||||
imports = [];
|
||||
networking = {
|
||||
interfaces.enX0.ipv4.addresses = [
|
||||
{
|
||||
address = "192.168.0.25";
|
||||
prefixLength = 16;
|
||||
}
|
||||
];
|
||||
defaultGateway = "192.168.0.152";
|
||||
nameservers = ["130.83.2.22" "130.83.56.60" "130.83.22.60" "130.82.22.63"];
|
||||
};
|
||||
}
|
48
nixos/modules/vmNetwork.nix
Normal file
48
nixos/modules/vmNetwork.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit
|
||||
(lib)
|
||||
mkOption
|
||||
types
|
||||
last
|
||||
init
|
||||
;
|
||||
inherit
|
||||
(lib.strings)
|
||||
splitString
|
||||
concatStringsSep
|
||||
toInt
|
||||
;
|
||||
cfg = config.vmNetwork;
|
||||
in {
|
||||
imports = [];
|
||||
|
||||
options.vmNetwork = {
|
||||
ipv4 = mkOption {
|
||||
type = types.str;
|
||||
description = "the ipv4 adress of this machine";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
networking = {
|
||||
interfaces.enX0.ipv4.addresses = [
|
||||
{
|
||||
address = cfg.ipv4;
|
||||
prefixLength = 16;
|
||||
}
|
||||
];
|
||||
defaultGateway = let
|
||||
addr = splitString "." cfg.ipv4;
|
||||
addrInit = init addr;
|
||||
addrLastInt = builtins.toString (toInt (last addr) + 127);
|
||||
in
|
||||
concatStringsSep "." (addrInit ++ [addrLastInt]);
|
||||
# https://www.hrz.tu-darmstadt.de/services/it_services/nameserver_dns/index.de.jsp
|
||||
nameservers = ["130.83.22.63" "130.83.22.60" "130.83.56.60"];
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue