vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / programs / openvpn3.nix
blob10042b44471ff7e359c0cbb80f3e72a848ea3857
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.programs.openvpn3;
5 in
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   };
23   config = lib.mkIf cfg.enable {
24     services.dbus.packages = [
25       cfg.package
26     ];
28     users.users.openvpn = {
29       isSystemUser = true;
30       uid = config.ids.uids.openvpn;
31       group = "openvpn";
32     };
34     users.groups.openvpn = {
35       gid = config.ids.gids.openvpn;
36     };
38     environment.systemPackages = [
39       cfg.package
40     ];
41   };