Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mullvad: init at 2022.1 #157207

Merged
merged 3 commits into from
Apr 1, 2022
Merged

mullvad: init at 2022.1 #157207

merged 3 commits into from
Apr 1, 2022

Conversation

cole-h
Copy link
Member

@cole-h cole-h commented Jan 28, 2022

This package includes the CLI binaries for mullvad, but does not attempt
to build the GUI. This allows it to be (more) cross-platform than the
mullvad-vpn package, which depends on a tool that is unavailable for
e.g. ARM platforms.

Motivation for this change

I tried to set up Mullvad on an aarch64 machine, but was relegated to a wg-quick config file generated on their website. Their reasoning for not providing an ARM build is that a dependency for the GUI part of their software does not support ARM (see mullvad/mullvadvpn-app#952 for more information). I'd much rather use their CLI tools than have to keep copies of the config files lying around.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.05 Release Notes (or backporting 21.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

This is still WIP because I haven't tested if it actually works (everything is properly executable, but I haven't deployed it to my aarch64 machine yet). I'm also not entirely happy with the separation between the libwg and mullvad packages, but I wasn't going to put the libwg derivation inside the mullvad package -- that would be much worse, IMO.

@cole-h
Copy link
Member Author

cole-h commented Jan 29, 2022

Unable to dig into the eval error right now (likely because of the scope, I'd be willing to bet). lol it was because of the dbus_daemon alias + using cargoLock.lockFile.

However, here's proof of it running on my aarch64 machine:

image

@cole-h
Copy link
Member Author

cole-h commented Feb 4, 2022

cc @ymarkus @Br1ght0ne @flexagoon -- Figured y'all might be interested in this, as maintainers of mullvad-vpn (the GUI app).

@cole-h cole-h changed the title mullvad: init at 2021.6 mullvad: init at 2022.1 Mar 9, 2022
@cole-h cole-h force-pushed the mullvad branch 3 times, most recently from bb569d7 to 41a2ea6 Compare March 26, 2022 19:09
@cole-h
Copy link
Member Author

cole-h commented Mar 26, 2022

OK, thanks to @SuperSandro2000, OpenVPN tunnels are now supported (and I've confirmed they work locally)!

This package includes the CLI binaries for mullvad, but does not attempt
to build the GUI. This allows it to be (more) cross-platform than the
mullvad-vpn package, which depends on a tool that is unavailable for
e.g. ARM platforms.
SuperSandro2000 and others added 2 commits March 30, 2022 13:09
Also expose `libwg` through `passthru` in the same way as
`openvpn-wireguard`.
@cole-h cole-h merged commit 1fc220f into NixOS:master Apr 1, 2022
@cole-h cole-h deleted the mullvad branch April 1, 2022 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants