diff options
Diffstat (limited to 'modules/vpn.nix')
| -rw-r--r-- | modules/vpn.nix | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/modules/vpn.nix b/modules/vpn.nix index 1aaaa6e..b1b7463 100644 --- a/modules/vpn.nix +++ b/modules/vpn.nix @@ -1,10 +1,15 @@ -{config, pkgs, lib, ...}: +{ + config, + pkgs, + lib, + ... +}: let desktop = config.addons.desktop; - cfg = config.addons.vpn; - opt-mullvad = config.addons.vpn.mullvad; -in -{ + cfg = config.addons.vpn; + opt-mullvad = config.addons.vpn.mullvad; +in +{ options.addons.vpn = { eduvpn.enable = lib.mkEnableOption "Enable eduvpn"; mullvad.enable = lib.mkEnableOption "Enable mullvad vpn"; @@ -15,15 +20,17 @@ in (lib.mkIf cfg.eduvpn.enable { networking.networkmanager.plugins = [ pkgs.networkmanager-openvpn ]; }) - (lib.mkIf desktop.enable (lib.mkMerge [ - (lib.mkIf opt-mullvad.enable { - services.mullvad-vpn.package = pkgs.mullvad-vpn; - }) - (lib.mkIf cfg.eduvpn.enable { - environment.systemPackages = with pkgs; [ - eduvpn-client - ]; - }) - ])) + (lib.mkIf desktop.enable ( + lib.mkMerge [ + (lib.mkIf opt-mullvad.enable { + services.mullvad-vpn.package = pkgs.mullvad-vpn; + }) + (lib.mkIf cfg.eduvpn.enable { + environment.systemPackages = with pkgs; [ + eduvpn-client + ]; + }) + ] + )) ]; } |
