about summary refs log tree commit diff
path: root/nixpkgs/nixos/modules/services/networking/expressvpn.nix
blob: 05c24d8bccffcd9686b99122b2242e63da5766f3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{ config, lib, pkgs, ... }:

with lib;
{
  options.services.expressvpn.enable = mkOption {
    type = types.bool;
    default = false;
    description = lib.mdDoc ''
      Enable the ExpressVPN daemon.
    '';
  };

  config = mkIf config.services.expressvpn.enable {
    boot.kernelModules = [ "tun" ];

    systemd.services.expressvpn = {
      description = "ExpressVPN Daemon";
      serviceConfig = {
        ExecStart = "${pkgs.expressvpn}/bin/expressvpnd";
        Restart = "on-failure";
        RestartSec = 5;
      };
      wantedBy = [ "multi-user.target" ];
      wants = [ "network-online.target" ];
      after = [ "network.target" "network-online.target" ];
    };
  };

  meta.maintainers = with maintainers; [ yureien ];
}