Published: 2025-07-27 Sun 13:53
Updated: 2025-07-28 Mon 11:47

Effortless VPN on NixOS using Mullvad

Table of Contents

1. Intro

Currently in the UK, the government has introduced the Online Safety Act. Under the guise of protecting children from seeing NSFW content, in practice this bill mass censors vast swathes of the internet for everyone - including SFW content! Even fucking Wikipedia is in the crosshairs!

As it's designed to only prevent children, you can just send sensitive private info to a private service that's definitely secure and won't run into any issues. No thanks!

While I've never used a VPN before, now is a fantastic time to start.

2. Why I chose Mullvad vs other VPNs

I've chosen to go with Mullvad over other VPN services, as Mullvad is simply the most no-nonsense. While it's reportedly slower and less feature-full than others, I just want something that is simple and does not get in the way for the time being.

You don't even make an account! You just generate a sequence of numbers and use that as a log-in. Could not get any simpler.

This lack of account also gives me a lot more confidence in the service's privacy and straightforwardness. I'm not worried about being spammed with offers, or enshittification, or being forced to go through annoying menus to do anything. Just simple, straightforward, and out of the way.

3. Simple as possible set up

I was very concerned that set up was going to be a huge PITA - especially on NixOS. Seeing some of the example Nix blocks started to make me very anxious that I'd have to burn a day on figuring out how to get it working.

So here's how I got it working:

services.mullvad-vpn = {
  enable = true;
  package = pkgs.mullvad-vpn;
};

That's… that's it.

I rebuilt my system, opened the GUI app, logged in, and everything just worked. And the GUI app is fine! Fully happy with using this instead of setting up something more complicated.

4. Conclusion

For the time being, this works for me. Whether or not I'll want some more in-depth features or better speed down the line, we'll see.

We'll see how long this Online Safety Act lasts in it's current state, also. Not good, people.