1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7{
8 options.services.expressvpn.enable = lib.mkOption {
9 type = lib.types.bool;
10 default = false;
11 description = ''
12 Enable the ExpressVPN daemon.
13 '';
14 };
15
16 config = lib.mkIf config.services.expressvpn.enable {
17 boot.kernelModules = [ "tun" ];
18
19 systemd.services.expressvpn = {
20 description = "ExpressVPN Daemon";
21 serviceConfig = {
22 ExecStart = "${pkgs.expressvpn}/bin/expressvpnd";
23 Restart = "on-failure";
24 RestartSec = 5;
25 };
26 wantedBy = [ "multi-user.target" ];
27 wants = [ "network-online.target" ];
28 after = [
29 "network.target"
30 "network-online.target"
31 ];
32 };
33 };
34
35 meta.maintainers = with lib.maintainers; [ yureien ];
36}