Reorganize repository

This commit is contained in:
Charlotte Van Petegem 2021-07-10 09:03:38 +02:00
parent da1824edb6
commit 0fc6c32a47
No known key found for this signature in database
GPG key ID: 019E764B7184435A
124 changed files with 16295 additions and 1229 deletions

View file

@ -0,0 +1,8 @@
{ ... }:
{
imports = [
./ovh.nix
./networkmanager.nix
];
}

View file

@ -0,0 +1,24 @@
{ config, lib, pkgs, ... }:
{
options.chvp.base.network.networkmanager.enable = lib.mkOption {
default = false;
example = true;
};
config = lib.mkIf config.chvp.base.network.networkmanager.enable {
chvp.base.zfs.systemLinks = [
{ path = "/etc/NetworkManager/system-connections"; type = "data"; }
];
networking.networkmanager = {
enable = true;
wifi.macAddress = "random";
};
users.users.charlotte.extraGroups = [ "networkmanager" ];
home-manager.users.charlotte = { ... }: {
home.packages = with pkgs; [ networkmanagerapplet ];
};
};
}

View file

@ -0,0 +1,62 @@
{ config, lib, ... }:
{
options.chvp.base.network.ovh = {
enable = lib.mkOption {
default = false;
example = true;
};
publicIPV4 = lib.mkOption {
example = {
ip = "1.2.3.4";
gateway = "1.2.3.254";
};
};
publicIPV6 = lib.mkOption {
example = {
ip = "1:2:3:4::";
gateway = "1:2:3:ff:ff:ff:ff:ff";
};
};
internalIPV4 = lib.mkOption {
example = "192.168.0.1";
};
};
config = lib.mkIf config.chvp.base.network.ovh.enable {
networking = with config.chvp.base.network.ovh; {
useDHCP = false;
interfaces = {
eno1.useDHCP = false;
eno2.useDHCP = false;
eno3 = {
useDHCP = false;
ipv4.addresses = [{
address = publicIPV4.ip;
prefixLength = 24;
}];
ipv6 = {
addresses = [{
address = publicIPV6.ip;
prefixLength = 64;
}];
routes = [{
address = publicIPV6.gateway;
prefixLength = 128;
}];
};
};
eno4 = {
useDHCP = false;
ipv4.addresses = [{
address = internalIPV4;
prefixLength = 16;
}];
};
};
defaultGateway = publicIPV4.gateway;
defaultGateway6 = publicIPV6.gateway;
nameservers = [ "1.1.1.1" "1.0.0.1" "2606:4700:4700::1111" "2606:4700:4700::1001" ];
};
};
}