8 cfg = config.services.ivpn;
11 options.services.ivpn = {
12 enable = lib.mkOption {
13 type = lib.types.bool;
16 This option enables iVPN daemon.
17 This sets {option}`networking.firewall.checkReversePath` to "loose", which might be undesirable for security.
22 config = lib.mkIf cfg.enable {
23 boot.kernelModules = [ "tun" ];
25 environment.systemPackages = with pkgs; [
30 # iVPN writes to /etc/iproute2/rt_tables
31 networking.iproute2.enable = true;
32 networking.firewall.checkReversePath = "loose";
34 systemd.services.ivpn-service = {
35 description = "iVPN daemon";
36 wantedBy = [ "multi-user.target" ];
39 "network-online.target"
42 "network-online.target"
43 "NetworkManager.service"
44 "systemd-resolved.service"
51 startLimitIntervalSec = 20;
53 ExecStart = "${pkgs.ivpn-service}/bin/ivpn-service --logging";
60 meta.maintainers = with lib.maintainers; [ ataraxiasjel ];