summaryrefslogtreecommitdiff
path: root/hosts/toaster/network.nix
diff options
context:
space:
mode:
authorGrigory Shipunov2023-05-28 23:37:31 +0200
committerGrigory Shipunov2023-05-28 23:37:31 +0200
commite232e7c0ec1abc1b4361c9857b708515be19150e (patch)
tree22f922f960402f94c482db41708a0ef1e8f7f7d7 /hosts/toaster/network.nix
parent28aedace6e827d2a7c15e44635ec50b07825d47b (diff)
shuffle around networking modules
Diffstat (limited to 'hosts/toaster/network.nix')
-rw-r--r--hosts/toaster/network.nix56
1 files changed, 37 insertions, 19 deletions
diff --git a/hosts/toaster/network.nix b/hosts/toaster/network.nix
index 2bb0e04..26def6b 100644
--- a/hosts/toaster/network.nix
+++ b/hosts/toaster/network.nix
@@ -1,10 +1,13 @@
-{ pkgs, ... }: {
- users.users.grue.extraGroups = [ "networkmanager" ];
+{ config, pkgs, ... }: {
+ environment.systemPackages = with pkgs; [ iwgtk ];
networking = {
hostName = "toaster";
firewall.enable = true;
+ networkmanager.enable = false;
+ useNetworkd = true;
wireguard.enable = true;
+ wireless.iwd.enable = true;
};
services.resolved = {
@@ -18,22 +21,37 @@
];
};
- # fixup the rpfilter fucking up the networkmanager wireguard
- networking.firewall = {
- # if packets are still dropped, they will show up in dmesg
- logReversePathDrops = true;
- # wireguard trips rpfilter up
- extraCommands = ''
- ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN
- ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN
- ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 1337 -j RETURN
- ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 1337 -j RETURN
- '';
- extraStopCommands = ''
- ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN || true
- ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN || true
- ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 1337 -j RETURN || true
- ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 1337 -j RETURN || true
- '';
+ # workaround for networkd waiting for shit
+ systemd.services.systemd-networkd-wait-online.serviceConfig.ExecStart = [
+ "" # clear old command
+ "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online --any"
+ ];
+
+ systemd.network = {
+ enable = true;
+
+ networks."10-ether" = {
+ matchConfig.MACAddress = "e8:80:88:2f:c6:70";
+ networkConfig = {
+ DHCP = "yes";
+ IPv6AcceptRA = true;
+ };
+ };
+ networks."10-dock" = {
+ matchConfig.Name = "enp5s0f4u1u1";
+ networkConfig = {
+ DHCP = "yes";
+ IPv6AcceptRA = true;
+ };
+ dhcpV4Config = { RouteMetric = 666; };
+ };
+ networks."10-wlan" = {
+ # matchConfig.MACAddress = "04:7b:cb:2a:aa:8c";
+ matchConfig.Name = "wlan0";
+ networkConfig = {
+ DHCP = "yes";
+ IPv6AcceptRA = true;
+ };
+ };
};
}