summaryrefslogtreecommitdiff
path: root/modules/nixosModules/desktop/mullvad.nix
blob: 9f2892cb1a2947757cd7b21fc2e7a58ed2299e14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{lib, ...}: {
  flake.nixosModules.mullvad = { pkgs, ... }: {
    services.mullvad-vpn = {
      enable = true;
      package = pkgs.mullvad-vpn;
      enableExcludeWrapper = true;
    };

    # allow tailscale traffic through
    networking.nftables.tables.mullvad_tailscale = {
      content = ''
        chain output {
          type route hook output priority 0; policy accept;
          ip daddr 100.64.0.0/10 ct mark set 0x00000f41 meta mark set 0x6d6f6c65;
        }
      '';
      family = "inet";
    };

    systemd.services.tailscaled.serviceConfig.Environment = [ "TS_DEBUG_FIREWALL_MODE=nftables" ];
  };
}