nixos-config/system/vpn.nix

24 lines
832 B
Nix

{ config, pkgs, ... }:
{
networking.wireguard.enable = true;
# TODO fix for https://github.com/NixOS/nixpkgs/issues/113589
networking.firewall.checkReversePath = "loose";
services.mullvad-vpn.enable = true;
# set some options after every daemon start
# to avoid accidentally leaving unsafe settings
systemd.services."mullvad-daemon".postStart = ''
while ! ${pkgs.mullvad}/bin/mullvad status >/dev/null; do sleep 1; done
${pkgs.mullvad}/bin/mullvad always-require-vpn set on
${pkgs.mullvad}/bin/mullvad dns set default \
--block-ads --block-trackers --block-malware
${pkgs.mullvad}/bin/mullvad lan set allow
${pkgs.mullvad}/bin/mullvad tunnel ipv6 set on
${pkgs.mullvad}/bin/mullvad relay set tunnel-protocol wireguard
${pkgs.mullvad}/bin/mullvad relay set location de dus
'';
}