diff options
Diffstat (limited to 'nixpkgs/nixos')
-rw-r--r-- | nixpkgs/nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixpkgs/nixos/modules/services/networking/mullvad.nix | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix index a6c1d7c5d66..d6886ba2c0b 100644 --- a/nixpkgs/nixos/modules/module-list.nix +++ b/nixpkgs/nixos/modules/module-list.nix @@ -640,6 +640,7 @@ ./services/networking/miredo.nix ./services/networking/mstpd.nix ./services/networking/mtprotoproxy.nix + ./services/networking/mullvad.nix ./services/networking/murmur.nix ./services/networking/mxisd.nix ./services/networking/namecoind.nix diff --git a/nixpkgs/nixos/modules/services/networking/mullvad.nix b/nixpkgs/nixos/modules/services/networking/mullvad.nix new file mode 100644 index 00000000000..1531025caeb --- /dev/null +++ b/nixpkgs/nixos/modules/services/networking/mullvad.nix @@ -0,0 +1,34 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.mullvad; +in +{ + options.services.mullvad = { + enable = mkEnableOption "the Mullvad VPN daemon"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.mullvad-vpn ]; + + systemd.services."mullvad-vpn" = { + enable = true; + wantedBy = [ "multi-user.target" ]; + path = with pkgs; [ iproute ]; + environment = + { + MULLVAD_SETTINGS_DIR = "/var/lib/mullvad-vpn"; + }; + serviceConfig = { + StateDirectory = "mullvad-vpn"; + CacheDirectory = "mullvad-vpn"; + ExecStart = '' + ${pkgs.mullvad-vpn}/bin/mullvad-daemon --disable-log-to-file + ''; + }; + }; + }; +} + |