Merge pull request #242371 from jfly/add-openvpn3-systemd-resolved-support

authored by Janik and committed by GitHub 96896946 1f588ca8

+26 -4
+2
nixos/doc/manual/release-notes/rl-2311.section.md
··· 324 324 325 325 - The `fonts.fonts` and `fonts.enableDefaultFonts` options have been renamed to `fonts.packages` and `fonts.enableDefaultPackages` respectively. 326 326 327 + - `pkgs.openvpn3` now optionally supports systemd-resolved. `programs.openvpn3` will automatically enable systemd-resolved support if `config.services.resolved.enable` is enabled. 328 + 327 329 - `services.fail2ban.jails` can now be configured with attribute sets defining settings and filters instead of lines. The stringed options `daemonConfig` and `extraSettings` have respectively been replaced by `daemonSettings` and `jails.DEFAULT.settings` which use attribute sets. 328 330 329 331 - The application firewall `opensnitch` now uses the process monitor method eBPF as default as recommended by upstream. The method can be changed with the setting [services.opensnitch.settings.ProcMonitorMethod](#opt-services.opensnitch.settings.ProcMonitorMethod).
+16 -4
nixos/modules/programs/openvpn3.nix
··· 8 8 { 9 9 options.programs.openvpn3 = { 10 10 enable = mkEnableOption (lib.mdDoc "the openvpn3 client"); 11 + package = mkOption { 12 + type = types.package; 13 + default = pkgs.openvpn3.override { 14 + enableSystemdResolved = config.services.resolved.enable; 15 + }; 16 + defaultText = literalExpression ''pkgs.openvpn3.override { 17 + enableSystemdResolved = config.services.resolved.enable; 18 + }''; 19 + description = lib.mdDoc '' 20 + Which package to use for `openvpn3`. 21 + ''; 22 + }; 11 23 }; 12 24 13 25 config = mkIf cfg.enable { 14 - services.dbus.packages = with pkgs; [ 15 - openvpn3 26 + services.dbus.packages = [ 27 + cfg.package 16 28 ]; 17 29 18 30 users.users.openvpn = { ··· 25 37 gid = config.ids.gids.openvpn; 26 38 }; 27 39 28 - environment.systemPackages = with pkgs; [ 29 - openvpn3 40 + environment.systemPackages = [ 41 + cfg.package 30 42 ]; 31 43 }; 32 44
+8
pkgs/tools/networking/openvpn3/default.nix
··· 15 15 , pkg-config 16 16 , protobuf 17 17 , python3 18 + , systemd 19 + , enableSystemdResolved ? false 18 20 , tinyxml-2 19 21 , wrapGAppsHook 20 22 }: ··· 80 82 openssl 81 83 protobuf 82 84 tinyxml-2 85 + ] ++ lib.optionals enableSystemdResolved [ 86 + systemd 83 87 ]; 84 88 85 89 # runtime deps ··· 101 105 "--enable-addons-aws" 102 106 "--disable-selinux-build" 103 107 "--disable-build-test-progs" 108 + ] ++ lib.optionals enableSystemdResolved [ 109 + # This defaults to --resolv-conf /etc/resolv.conf. See 110 + # https://github.com/OpenVPN/openvpn3-linux/blob/v20/configure.ac#L434 111 + "DEFAULT_DNS_RESOLVER=--systemd-resolved" 104 112 ]; 105 113 106 114 NIX_LDFLAGS = "-lpthread";