at 24.11-pre 928 B view raw
1{ config, lib, pkgs, ... }: 2 3let 4 cfg = config.programs.openvpn3; 5in 6{ 7 options.programs.openvpn3 = { 8 enable = lib.mkEnableOption "the openvpn3 client"; 9 package = lib.mkOption { 10 type = lib.types.package; 11 default = pkgs.openvpn3.override { 12 enableSystemdResolved = config.services.resolved.enable; 13 }; 14 defaultText = lib.literalExpression ''pkgs.openvpn3.override { 15 enableSystemdResolved = config.services.resolved.enable; 16 }''; 17 description = '' 18 Which package to use for `openvpn3`. 19 ''; 20 }; 21 }; 22 23 config = lib.mkIf cfg.enable { 24 services.dbus.packages = [ 25 cfg.package 26 ]; 27 28 users.users.openvpn = { 29 isSystemUser = true; 30 uid = config.ids.uids.openvpn; 31 group = "openvpn"; 32 }; 33 34 users.groups.openvpn = { 35 gid = config.ids.gids.openvpn; 36 }; 37 38 environment.systemPackages = [ 39 cfg.package 40 ]; 41 }; 42 43}