parent
383556b5e7
commit
89f5dc24ed
@ -0,0 +1,43 @@ |
||||
{ config, lib, pkgs, ... }: |
||||
let |
||||
cfg = config.services.mullvad-vpn; |
||||
in |
||||
with lib; |
||||
{ |
||||
options.services.mullvad-vpn.enable = mkOption { |
||||
type = types.bool; |
||||
default = false; |
||||
description = '' |
||||
This option enables Mullvad VPN daemon. |
||||
''; |
||||
}; |
||||
|
||||
config = mkIf cfg.enable { |
||||
boot.kernelModules = [ "tun" ]; |
||||
|
||||
systemd.services.mullvad-daemon = { |
||||
description = "Mullvad VPN daemon"; |
||||
wantedBy = [ "multi-user.target" ]; |
||||
wants = [ "network.target" ]; |
||||
after = [ |
||||
"network-online.target" |
||||
"NetworkManager.service" |
||||
"systemd-resolved.service" |
||||
]; |
||||
path = [ |
||||
pkgs.iproute |
||||
# Needed for ping |
||||
"/run/wrappers" |
||||
]; |
||||
serviceConfig = { |
||||
StartLimitBurst = 5; |
||||
StartLimitIntervalSec = 20; |
||||
ExecStart = "${pkgs.mullvad-vpn}/bin/mullvad-daemon -v --disable-stdout-timestamps"; |
||||
Restart = "always"; |
||||
RestartSec = 1; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
meta.maintainers = [ maintainers.xfix ]; |
||||
} |
Loading…
Reference in new issue