at 24.05-pre 941 B view raw
1{ config, lib, pkgs, ... }: 2 3with lib; 4 5let 6 cfg = config.programs.openvpn3; 7in 8{ 9 options.programs.openvpn3 = { 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 }; 23 }; 24 25 config = mkIf cfg.enable { 26 services.dbus.packages = [ 27 cfg.package 28 ]; 29 30 users.users.openvpn = { 31 isSystemUser = true; 32 uid = config.ids.uids.openvpn; 33 group = "openvpn"; 34 }; 35 36 users.groups.openvpn = { 37 gid = config.ids.gids.openvpn; 38 }; 39 40 environment.systemPackages = [ 41 cfg.package 42 ]; 43 }; 44 45}