Compare commits
3 Commits
5a8daad590
...
43ec75741d
| Author | SHA1 | Date | |
|---|---|---|---|
| 43ec75741d | |||
| 000bbd7f4d | |||
| e4f0d065f9 |
@@ -230,7 +230,14 @@ in
|
|||||||
Port = cfg.proxyPort;
|
Port = cfg.proxyPort;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.services.tinyproxy.before = [ "container@pia-vpn.service" ];
|
systemd.services.tinyproxy = {
|
||||||
|
before = [ "container@pia-vpn.service" ];
|
||||||
|
after = [ "systemd-networkd.service" ];
|
||||||
|
requires = [ "systemd-networkd.service" ];
|
||||||
|
serviceConfig.ExecStartPre = [
|
||||||
|
"+${pkgs.systemd}/lib/systemd/systemd-networkd-wait-online --interface=${cfg.bridgeName}:no-carrier --timeout=60"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# WireGuard interface creation (host-side oneshot)
|
# WireGuard interface creation (host-side oneshot)
|
||||||
# Creates the interface in the host namespace so encrypted UDP stays in host netns.
|
# Creates the interface in the host namespace so encrypted UDP stays in host netns.
|
||||||
|
|||||||
@@ -42,5 +42,6 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
networking.usePredictableInterfaceNames = true;
|
||||||
networking.interfaces.eth0.useDHCP = true;
|
networking.interfaces.eth0.useDHCP = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -341,6 +341,8 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
settings.MEMOS_PORT = "57643";
|
settings.MEMOS_PORT = "57643";
|
||||||
};
|
};
|
||||||
|
# ReadWritePaths doesn't work with ProtectSystem=strict on ZFS submounts (/var/lib is a separate dataset)
|
||||||
|
systemd.services.memos.serviceConfig.ProtectSystem = lib.mkForce "full";
|
||||||
|
|
||||||
services.outline = {
|
services.outline = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ lib, pkgs, modulesPath, ... }:
|
{ modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
@@ -67,17 +67,17 @@
|
|||||||
dhcpcd.enable = false;
|
dhcpcd.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# eth0 — native VLAN 5 (main), default route, internet
|
# eno1 — native VLAN 5 (main), default route, internet
|
||||||
# useDHCP generates the base 40-eth0 networkd unit and drives initrd DHCP for LUKS unlock.
|
# useDHCP generates the base 40-eno1 networkd unit and drives initrd DHCP for LUKS unlock.
|
||||||
networking.interfaces."eth0".useDHCP = true;
|
networking.interfaces."eno1".useDHCP = true;
|
||||||
systemd.network.networks."40-eth0" = {
|
systemd.network.networks."40-eno1" = {
|
||||||
dhcpV4Config.RouteMetric = 100; # prefer eth0 over VLAN interfaces for default route
|
dhcpV4Config.RouteMetric = 100; # prefer eno1 over VLAN interfaces for default route
|
||||||
linkConfig.RequiredForOnline = "routable"; # wait-online succeeds once eth0 has a route
|
linkConfig.RequiredForOnline = "routable"; # wait-online succeeds once eno1 has a route
|
||||||
};
|
};
|
||||||
|
|
||||||
# eth1 — trunk port (no IP on the raw interface)
|
# eno2 — trunk port (no IP on the raw interface)
|
||||||
systemd.network.networks."10-eth1" = {
|
systemd.network.networks."40-eno2" = {
|
||||||
matchConfig.Name = "eth1";
|
matchConfig.Name = "eno2";
|
||||||
networkConfig = {
|
networkConfig = {
|
||||||
VLAN = [ "vlan-iot" "vlan-mgmt" ];
|
VLAN = [ "vlan-iot" "vlan-mgmt" ];
|
||||||
LinkLocalAddressing = "no";
|
LinkLocalAddressing = "no";
|
||||||
@@ -86,9 +86,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# VLAN 2 — IoT (cameras, smart home)
|
# VLAN 2 — IoT (cameras, smart home)
|
||||||
systemd.network.netdevs."20-vlan-iot".netdevConfig = { Name = "vlan-iot"; Kind = "vlan"; };
|
systemd.network.netdevs."50-vlan-iot".netdevConfig = { Name = "vlan-iot"; Kind = "vlan"; };
|
||||||
systemd.network.netdevs."20-vlan-iot".vlanConfig.Id = 2;
|
systemd.network.netdevs."50-vlan-iot".vlanConfig.Id = 2;
|
||||||
systemd.network.networks."20-vlan-iot" = {
|
systemd.network.networks."50-vlan-iot" = {
|
||||||
matchConfig.Name = "vlan-iot";
|
matchConfig.Name = "vlan-iot";
|
||||||
networkConfig.DHCP = "yes";
|
networkConfig.DHCP = "yes";
|
||||||
dhcpV4Config = {
|
dhcpV4Config = {
|
||||||
@@ -99,9 +99,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# VLAN 4 — Management
|
# VLAN 4 — Management
|
||||||
systemd.network.netdevs."20-vlan-mgmt".netdevConfig = { Name = "vlan-mgmt"; Kind = "vlan"; };
|
systemd.network.netdevs."50-vlan-mgmt".netdevConfig = { Name = "vlan-mgmt"; Kind = "vlan"; };
|
||||||
systemd.network.netdevs."20-vlan-mgmt".vlanConfig.Id = 4;
|
systemd.network.netdevs."50-vlan-mgmt".vlanConfig.Id = 4;
|
||||||
systemd.network.networks."20-vlan-mgmt" = {
|
systemd.network.networks."50-vlan-mgmt" = {
|
||||||
matchConfig.Name = "vlan-mgmt";
|
matchConfig.Name = "vlan-mgmt";
|
||||||
networkConfig.DHCP = "yes";
|
networkConfig.DHCP = "yes";
|
||||||
dhcpV4Config = {
|
dhcpV4Config = {
|
||||||
|
|||||||
Reference in New Issue
Block a user