1
0

Compare commits

...

13 Commits

10 changed files with 184 additions and 44 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

6
flake.lock generated
View File

@@ -650,11 +650,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1763421233, "lastModified": 1765472234,
"narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=", "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648", "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
"type": "github" "type": "github"
}, },
"original": { "original": {

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

@@ -46,6 +46,25 @@
# dn42-router-general-wireguard-key public key: # dn42-router-general-wireguard-key public key:
# r38qvXqu26x4f6yUGxg44Ji4db/g2HK7RZwG7Boh+38= # r38qvXqu26x4f6yUGxg44Ji4db/g2HK7RZwG7Boh+38=
# darkpoint
wg0150 = {
ips = [
"fe80::2574/128"
];
postSetup = ''
ip addr replace dev wg0150 fe80::2574/128 peer fe80::150/128
'';
listenPort = 50150;
allowedIPsAsRoutes = false;
peers = [
{
allowedIPs = [ "fe80::/10" "fd00::/8" ];
endpoint = "fra.darkpoint.xyz:22574";
publicKey = "nfoxTtmJdBdxNR3TmfVLG13KA5E+ZtU+uIGCegxrxxw=";
}
];
privateKeyFile = config.sops.secrets.dn42-router-general-wireguard-key.path;
};
# e1mo # e1mo
wg0565 = { wg0565 = {
ips = [ ips = [
@@ -164,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 = {
@@ -204,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 = {
@@ -238,6 +341,13 @@
]; ];
wireguardPeers = [ wireguardPeers = [
{
peerName = "peer_0150";
remoteAddress = "fe80::150";
interfaceName = "wg0150";
remoteAsn = "4242420150";
localAddress = "fe80::2574";
}
{ {
peerName = "peer_0565"; peerName = "peer_0565";
remoteAddress = "fe80::565"; remoteAddress = "fe80::565";
@@ -280,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";
@@ -288,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;
}; };
} }