typioca: 2.7.0 -> 2.8.0
[NixPkgs.git] / nixos / modules / programs / openvpn3.nix
blob37a1bfeb0c3e69b29f9c574041e2d84d9944f398
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
6   cfg = config.programs.openvpn3;
7 in
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   };
25   config = mkIf cfg.enable {
26     services.dbus.packages = [
27       cfg.package
28     ];
30     users.users.openvpn = {
31       isSystemUser = true;
32       uid = config.ids.uids.openvpn;
33       group = "openvpn";
34     };
36     users.groups.openvpn = {
37       gid = config.ids.gids.openvpn;
38     };
40     environment.systemPackages = [
41       cfg.package
42     ];
43   };