Mullvad VPN: Difference between revisions

Added example of a declarative mullvad configuration and formatted page.
m Configuration: New countries
 
(5 intermediate revisions by 2 users not shown)
Line 7: Line 7:
{{warning|1=Mullvad VPN currently only works if [[systemd-resolved]] is enable. More info [https://discourse.nixos.org/t/connected-to-mullvadvpn-but-no-internet-connection/35803/8?u=lion at this forum post]. If this issue is fixed please remove this warning banner.}}  
{{warning|1=Mullvad VPN currently only works if [[systemd-resolved]] is enable. More info [https://discourse.nixos.org/t/connected-to-mullvadvpn-but-no-internet-connection/35803/8?u=lion at this forum post]. If this issue is fixed please remove this warning banner.}}  


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|configuration.nix|nix|<nowiki>
services.mullvad-vpn.enable = true;
{
  services.mullvad-vpn.enable = true;
}
</nowiki>}}
</nowiki>}}


If you want to use the GUI application:
If you want to use the GUI application:


<syntaxHighlight lang=nix>
{{file|configuration.nix|nix|<nowiki>
services.mullvad-vpn.package = pkgs.mullvad-vpn;
{ pkgs, ... }:
</syntaxHighlight>
{
  services.mullvad-vpn.package = pkgs.mullvad-vpn;
}
</nowiki>}}


{{Evaluate}}
{{Evaluate}}
Line 121: Line 126:
               "ua"
               "ua"
             ];
             ];
             africa = [ "za" ];
             africa = [
              "ng"
              "za"
            ];
             asia = [
             asia = [
               "hk"
               "hk"
Line 127: Line 135:
               "il"
               "il"
               "jp"
               "jp"
              "my"
              "ph"
               "sg"
               "sg"
               "th"
               "th"
Line 151: Line 161:
           /*
           /*
             {
             {
               hostname= "se-sto-wg-001";
               hostname = "se-sto-wg-001";
               ipv4_addr_in= "<remote IPv4>";
               ipv4_addr_in = "[remote IPv4]";
               ipv6_addr_in= "<remote IPv6>";
               ipv6_addr_in = "[remote IPv6]";
             }
             }
           */
           */
Line 225: Line 235:
</nowiki>}}
</nowiki>}}


[[Category:Applications]]
=== Autostarting the GUI application ===
 
If you don't want to rely on Mullvad's autostart file in <code>~/.config/autostart</code>, (Perhaps because your configuration is [[Impermanence|stateless]]) you can set up an autostart file with <code>makeAutostartItem</code>:
 
{{file|configuration.nix|nix|<nowiki>
{ pkgs, ... }:
let
  mullvad-autostart = pkgs.makeAutostartItem {
    name = "mullvad-vpn";
    package = pkgs.mullvad-vpn;
  };
in
{
  environment.systemPackages = [ mullvad-autostart ];
}
</nowiki>}}
 
[[Category:VPN]]
[[Category:Networking]]