1
0

Compare commits

...

10 Commits

9 changed files with 155 additions and 41 deletions

View File

@@ -7,6 +7,9 @@
gptfdisk gptfdisk
parted parted
grow-last-partition-and-filesystem grow-last-partition-and-filesystem
pciutils
lshw
ethtool
# Normal usage # Normal usage
htop htop

View File

@@ -8,7 +8,7 @@
tunnelInterfaceName = "ds-lite-ncfttb"; tunnelInterfaceName = "ds-lite-ncfttb";
lanInterfaces = [ lanInterfaces = [
{ {
name = "net-heimnetz"; name = "enp2s0";
sla_id = 201; sla_id = 201;
prefix_len = 64; prefix_len = 64;
} }

View File

@@ -3,17 +3,9 @@
{ {
## DSL-Uplink ## DSL-Uplink
networking.vlans."enp1s0.10" = {
id = 10;
interface = "enp1s0";
};
networking.vlans."enp3s0.10" = { networking.vlans."enp3s0.10" = {
id = 10; id = 10;
interface = "enp3s0"; interface = "enp3s0";
}; };
networking.bridges."net-dsl".interfaces = [
"enp1s0.10"
"enp3s0.10"
];
} }

View File

@@ -3,24 +3,16 @@
{ {
## Heimnetz ## Heimnetz
networking.vlans."enp1s0.201" = { networking.interfaces."enp2s0".ipv6.addresses = [
id = 201;
interface = "enp1s0";
};
networking.bridges."net-heimnetz".interfaces = [
"enp1s0.201"
"enp2s0"
];
networking.interfaces."net-heimnetz".ipv6.addresses = [
{ address = "fe80::1"; prefixLength = 64; } { address = "fe80::1"; prefixLength = 64; }
{ address = "fd00:152:152:4::1"; prefixLength = 64; } { address = "fd00:152:152:4::1"; prefixLength = 64; }
]; ];
networking.interfaces."net-heimnetz".ipv4.addresses = [ networking.interfaces."enp2s0".ipv4.addresses = [
{ address = "10.152.4.1"; prefixLength = 24; } { address = "10.152.4.1"; prefixLength = 24; }
]; ];
services.radvd.config = '' services.radvd.config = ''
interface net-heimnetz { interface enp2s0 {
AdvSendAdvert on; AdvSendAdvert on;
MaxRtrAdvInterval 30; MaxRtrAdvInterval 30;
prefix ::/64 { prefix ::/64 {
@@ -35,7 +27,7 @@
services.kea.dhcp4 = { services.kea.dhcp4 = {
settings = { settings = {
interfaces-config = { interfaces-config = {
interfaces = [ "net-heimnetz" ]; interfaces = [ "enp2s0" ];
}; };
subnet4 = [ subnet4 = [
# Heimnetz # Heimnetz

View File

@@ -6,7 +6,7 @@
enable = true; enable = true;
peers.ncfttb = { peers.ncfttb = {
config = '' config = ''
plugin pppoe.so net-dsl plugin pppoe.so enp3s0.10
user "''${PPPD_NETCOLOGNE_USERNAME}" user "''${PPPD_NETCOLOGNE_USERNAME}"
ifname ppp-ncfttb ifname ppp-ncfttb
persist persist

View File

@@ -183,25 +183,25 @@
]; ];
privateKeyFile = config.sops.secrets.wg1280.path; privateKeyFile = config.sops.secrets.wg1280.path;
}; };
# lutoma # c4tg1rl5
wg4719 = { # https://catgirls.systems/peering/
wg1411 = {
ips = [ ips = [
#"fe80::1/128" "fe80::2574/128"
# peer fe80::acab/128
]; ];
postSetup = '' postSetup = ''
ip addr add dev wg4719 fe80::1/128 peer fe80::acab/128 ip addr replace dev wg1411 fe80::2574/128 peer fe80::1411/128
''; '';
listenPort = 54719; listenPort = 51411;
allowedIPsAsRoutes = false; allowedIPsAsRoutes = false;
peers = [ peers = [
{ #{
allowedIPs = [ "fe80::/10" "fd00::/8" ]; # allowedIPs = [ "fe80::/10" "fd00::/8" ];
endpoint = "[2603:c020:8001:ed42::42]:42546"; # endpoint = "";
publicKey = "MkVyCgIq0BOStFIu2/Wl91ofFuRvnG3ZqTWFfVs/VlQ="; # publicKey = "";
} #}
]; ];
privateKeyFile = config.sops.secrets.wg4719.path; privateKeyFile = config.sops.secrets.dn42-router-general-wireguard-key.path;
}; };
# zaphyra # zaphyra
wg1718 = { wg1718 = {
@@ -223,17 +223,101 @@
]; ];
privateKeyFile = config.sops.secrets.wg1718.path; privateKeyFile = config.sops.secrets.wg1718.path;
}; };
# iedon
# https://iedon.net/
wg2189 = {
ips = [
"fe80::2574/128"
];
postSetup = ''
ip addr replace dev wg2189 fe80::2574/128 peer fe80::2189:e9/128
'';
listenPort = 52189;
allowedIPsAsRoutes = false;
peers = [
{
allowedIPs = [ "fe80::/10" "fd00::/8" ];
endpoint = "de-fra.dn42.iedon.net:42463";
publicKey = "FHp0OR4UpAS8/Ra0FUNffTk18soUYCa6NcvZdOgxY0k=";
}
];
privateKeyFile = config.sops.secrets.dn42-router-general-wireguard-key.path;
};
# jona / cryne
wg3402 = {
ips = [
"fe80::2574/128"
];
postSetup = ''
ip addr replace dev wg3402 fe80::2574/128 peer fe80::3402/128
'';
listenPort = 53402;
allowedIPsAsRoutes = false;
peers = [
{
allowedIPs = [ "fe80::/10" "fd00::/8" ];
endpoint = "dn42.cryne.me:42574";
publicKey = "YsKInIp90is8ysnQDHGoKnz2CqlTMWMZDmQ+vwvN2C0=";
}
];
privateKeyFile = config.sops.secrets.dn42-router-general-wireguard-key.path;
};
# lutoma
wg4719 = {
ips = [
#"fe80::1/128"
# peer fe80::acab/128
];
postSetup = ''
ip addr add dev wg4719 fe80::1/128 peer fe80::acab/128
'';
listenPort = 54719;
allowedIPsAsRoutes = false;
peers = [
{
allowedIPs = [ "fe80::/10" "fd00::/8" ];
endpoint = "[2603:c020:8001:ed42::42]:42546";
publicKey = "MkVyCgIq0BOStFIu2/Wl91ofFuRvnG3ZqTWFfVs/VlQ=";
}
];
privateKeyFile = config.sops.secrets.wg4719.path;
};
# tbspace
wg6190 = {
ips = [
"fe80::2574/128"
];
postSetup = ''
ip addr replace dev wg6190 fe80::2574/128 peer fe80::1299:e/128
'';
listenPort = 56190;
allowedIPsAsRoutes = false;
peers = [
{
allowedIPs = [ "fe80::/10" "fd00::/8" ];
endpoint = "dn42.tbspace.de:49168";
publicKey = "skvyDl81J8Zu3Ziem+7JKeU4UYLhhWt7gWelg8nEbzQ=";
}
];
privateKeyFile = config.sops.secrets.dn42-router-general-wireguard-key.path;
};
}; };
networking.firewall.allowedUDPPorts = [ networking.firewall.allowedUDPPorts = [
50150 # wg0150
50565 # wg0565 50565 # wg0565
50663 # wg0663
51240 # wg1240 51240 # wg1240
51241 # wg1241 51241 # wg1241
51271 # wg1271 51271 # wg1271
51272 # wg1272 51272 # wg1272
51280 # wg1280 51280 # wg1280
54719 # wg4719 51411 # wg1411
51718 # wg1718 51718 # wg1718
52189 # wg2189
53402 # wg3402
54719 # wg4719
56190 # wg6190
]; ];
profiles.clerie.dn42-router = { profiles.clerie.dn42-router = {
@@ -306,6 +390,34 @@
remoteAsn = "4242421280"; remoteAsn = "4242421280";
localAddress = "fde3:4c0d:2836:ff00::21"; localAddress = "fde3:4c0d:2836:ff00::21";
} }
{
peerName = "peer_1411_de_fsn";
remoteAddress = "fe80::1411";
interfaceName = "wg1411";
remoteAsn = "4242421411";
localAddress = "fe80::2574";
}
{
peerName = "peer_1718";
remoteAddress = "fe80::6b61";
interfaceName = "wg1718";
remoteAsn = "4242421718";
localAddress = "fe80::2574";
}
{
peerName = "peer_2189_de_fra";
remoteAddress = "fe80::2189:e9";
interfaceName = "wg2189";
remoteAsn = "4242422189";
localAddress = "fe80::2574";
}
{
peerName = "peer_3402";
remoteAddress = "fe80::3402";
interfaceName = "wg3402";
remoteAsn = "4242423402";
localAddress = "fe80::2574";
}
{ {
peerName = "peer_4719"; peerName = "peer_4719";
remoteAddress = "fe80::acab"; remoteAddress = "fe80::acab";
@@ -314,10 +426,10 @@
localAddress = "fe80::1"; localAddress = "fe80::1";
} }
{ {
peerName = "peer_1718"; peerName = "peer_6190";
remoteAddress = "fe80::6b61"; remoteAddress = "fe80::1299:e";
interfaceName = "wg1718"; interfaceName = "wg6190";
remoteAsn = "4242421718"; remoteAsn = "76190";
localAddress = "fe80::2574"; localAddress = "fe80::2574";
} }
]; ];

View File

@@ -13,6 +13,10 @@
]; ];
profiles.clerie.desktop.enable = true; profiles.clerie.desktop.enable = true;
profiles.clerie.desktop.users = [
"clerie"
];
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;

View File

@@ -6,6 +6,11 @@ with lib;
options.profiles.clerie.desktop = { options.profiles.clerie.desktop = {
enable = mkEnableOption "clerie Desktop Config"; enable = mkEnableOption "clerie Desktop Config";
users = mkOption {
type = with types; listOf str;
default = [];
description = "Names of users that are considered desktop users and therefore get special permissions";
};
}; };
imports = [ imports = [

View File

@@ -2,9 +2,13 @@
with lib; with lib;
{ let
config = mkIf config.profiles.clerie.desktop.enable { cfg = config.profiles.clerie.desktop;
in {
config = mkIf cfg.enable {
networking.networkmanager.settings = { networking.networkmanager.settings = {
connectivity = { connectivity = {
@@ -15,6 +19,8 @@ with lib;
}; };
}; };
users.groups.networkmanager.members = cfg.users;
}; };
} }