From ee1604d8c702d110c5fc6f9de1543c8a291505b8 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron <886074+teto@users.noreply.github.com> Date: Sun, 24 Mar 2024 17:32:36 +0100 Subject: [PATCH] networking.wireguard: generate leaner units --- .../modules/services/networking/wireguard.nix | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix index d36be87daf60..6d0438261256 100644 --- a/nixos/modules/services/networking/wireguard.nix +++ b/nixos/modules/services/networking/wireguard.nix @@ -472,29 +472,27 @@ let RemainAfterExit = true; }; - script = '' - ${optionalString (!config.boot.isContainer) "modprobe wireguard || true"} - - ${values.preSetup} - - ${ipPreMove} link add dev "${name}" type wireguard - ${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) ''${ipPreMove} link set "${name}" netns "${ns}"''} - ${optionalString (values.mtu != null) ''${ipPostMove} link set "${name}" mtu ${toString values.mtu}''} - - ${concatMapStringsSep "\n" (ip: + script = concatStringsSep "\n" ( + optional (!config.boot.isContainer) "modprobe wireguard || true" + ++ [ + values.preSetup + ''${ipPreMove} link add dev "${name}" type wireguard'' + ] + ++ optional (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) ''${ipPreMove} link set "${name}" netns "${ns}"'' + ++ optional (values.mtu != null) ''${ipPostMove} link set "${name}" mtu ${toString values.mtu}'' + ++ (map (ip: ''${ipPostMove} address add "${ip}" dev "${name}"'' - ) values.ips} - - ${concatStringsSep " " ( + ) values.ips) + ++ [ + (concatStringsSep " " ( [ ''${wg} set "${name}" private-key "${privKey}"'' ] ++ optional (values.listenPort != null) ''listen-port "${toString values.listenPort}"'' ++ optional (values.fwMark != null) ''fwmark "${values.fwMark}"'' - )} - - ${ipPostMove} link set up dev "${name}" - - ${values.postSetup} - ''; + )) + ''${ipPostMove} link set up dev "${name}"'' + values.postSetup + ] + ); postStop = '' ${ipPostMove} link del dev "${name}"