Skip to content

nordvpn: init at 5.2.0, maintainers: add different-error #477174

Merged
romildo merged 2 commits into
NixOS:masterfrom
different-error:nordvpn-pkg-gui
Jul 3, 2026
Merged

nordvpn: init at 5.2.0, maintainers: add different-error #477174
romildo merged 2 commits into
NixOS:masterfrom
different-error:nordvpn-pkg-gui

Conversation

@different-error

@different-error different-error commented Jan 5, 2026

Copy link
Copy Markdown
Contributor

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

This PR contains just the package found in #406725.

I manually verified vpn connection over OpenVPN and NordLynx using both cli and gui.

configuration.nix

{
  pkgs,
  ...
}:

{
  imports = [
    ./hardware-configuration.nix
  ];

  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;
  networking.firewall.enable = true;
  networking.firewall.checkReversePath = "loose";

  services.xserver.enable = true;
  services.displayManager.gdm.enable = true;
  services.desktopManager.plasma6.enable = true;

  virtualisation.vmVariant = {
    virtualisation = {
      memorySize = 8192;
      cores = 3;
    };
  };
  users.groups.alice = { };
  users.groups.nordvpn = { };
  users.users.alice = {
    isSystemUser = true;
    password = "alice";
    group = "alice";
    extraGroups = [
      "wheel"
      "nordvpn"
    ];
    shell = pkgs.bash;
    home = "/home/alice";
    createHome = true;
    packages = with pkgs; [
      tree
      tmux
      dunst
      libnotify
      socat
      vim
      nordvpn
    ];
  };
  system.stateVersion = "24.11"; # Did you read the comment?
}

To build, nixos-rebuild build-vm -I nixos-config=/path/to/configuration.nix -I nixpkgs=/path/to/nixpkgs --max-jobs 4

Inside vm:

sudo nordvpnd
sudo chown alice:alice /run/nordvpn/nordvpnd.sock
# login to nordvpn using nordvpn login or nordvpn login --token, not shown here
nordvpn set technology nordlynx && nordvpn c
nordvpn set technology openvpn && nordvpn c
nordvpn-gui

Note: I use Claude btw.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci Bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle! 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` labels Jan 5, 2026
@different-error different-error changed the title Nordvpn pkg gui nordvpn: init at 4.3.1, maintainers: add different-error Jan 5, 2026
@different-error

Copy link
Copy Markdown
Contributor Author

@ruffsl @andersonjoseph fyi.

I would appreciate your manual testing of this PR. Thank you.

@ruffsl

ruffsl commented Jan 10, 2026

Copy link
Copy Markdown
Contributor

I tried this along with the networking service module from #406725 :

  • compilation took a lot longer than before, not sure I incorporated it into my local config correctly.
    • perhaps it because I need this to nix compile locally? Probably wrong.
-          extraPreBuild + (old.preBuild or "");
+          extraPreBuild + (if old ? preBuild then old.preBuild else "");
  • had to sudo systemctl stop nordvpnd.service and wipe /var/lib/nordvpn/data to switch to this branch
  • CLI works fine for login and connecting to servers
  • GUI no longer installs a desktop icon
    • had to launch system tray manually via systemctl start --user norduserd.service
    • system tray menu otherwise works as expected
  • Desktop notifications for connect and disconnections working as expected
  • tested VPN protocols via GUI: NordLynx, OpenVPN (TCP) and (UDP) look to be working
    • but NordWhisper would not toggle: "Something went wrong. Please try again." when selected

@different-error

Copy link
Copy Markdown
Contributor Author
  * perhaps it because I need this to nix compile locally? Probably wrong.
-          extraPreBuild + (old.preBuild or "");
+         extraPreBuild + (if old ? preBuild then old.preBuild else "");

Thanks for pointing this out. I think the old.preBuild is standard and should exist. Regardless, this critique is out-of-scope of this PR which does not include the referenced module.


* had to `sudo systemctl stop nordvpnd.service` and wipe `/var/lib/nordvpn/data` to switch to this branch

I had to do this once before because of the salt removal from previous iterations of this package. New consumers needn't do this. And once again, the module is out of scope of this PR.


* GUI no longer installs a desktop icon

I've fixed this now, ty.


  * had to launch system tray manually via `systemctl start --user norduserd.service`

If you use the standalone package and call sudo nordvpnd in the terminal, then nordvpnd would've spawned norduserd processes on its own.


  * but NordWhisper would not toggle: "Something went wrong. Please try again." when selected

nordwhisper (specifically libquench) as I understand it is closed source.

@different-error different-error marked this pull request as ready for review January 14, 2026 11:25
@nixpkgs-ci nixpkgs-ci Bot added the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Jan 14, 2026
@nixpkgs-ci nixpkgs-ci Bot added the 8.has: package (new) This PR adds a new package label Jan 27, 2026
@gabschne

Copy link
Copy Markdown

I tested it as well, along with a few of the other features like the kill switch, and they work as expected for me.

Would be really cool if this could be merged soon; I've been eagerly waiting for an official NordVPN package integration ever since the first PR.

A big thank you to @different-error and all the other folks from Nix!

Btw. nordvpn-linux version 4.5.0 has been released, featuring NetworkManager integration.

@different-error different-error force-pushed the nordvpn-pkg-gui branch 2 times, most recently from 536c94b to d81e7e7 Compare April 9, 2026 15:45
@different-error

Copy link
Copy Markdown
Contributor Author

Tested on nordlynx and openvpn.

@different-error different-error changed the title nordvpn: init at 4.3.1, maintainers: add different-error nordvpn: init at 4.5.0, maintainers: add different-error Apr 10, 2026
@romildo

romildo commented Apr 18, 2026

Copy link
Copy Markdown
Contributor

How to use this package for connecting with nordvpn?

@different-error different-error force-pushed the nordvpn-pkg-gui branch 2 times, most recently from 116265d to b90acf6 Compare April 19, 2026 14:40
@different-error

different-error commented Apr 19, 2026

Copy link
Copy Markdown
Contributor Author

How to use this package for connecting with nordvpn?

This snippet points to the nordvpn branch that contains both the package and the module:

  # flake.nix
  {
    inputs = {
      nixpkgs.url = "nixpkgs/nixos-25.11";
      nixpkgs-nordvpn.url = "github:different-error/nixpkgs/nordvpn";
    };

    outputs = { nixpkgs, nixpkgs-nordvpn, ... }: {
      nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          ./configuration.nix
          "${nixpkgs-nordvpn}/nixos/modules/services/networking/nordvpn.nix"
          {
            nixpkgs.overlays = [
              (final: prev: {
                nordvpn = (import nixpkgs-nordvpn {
                  system = "x86_64-linux";
                  config.allowUnfree = true;
                }).nordvpn;
              })
            ];
          }
        ];
      };
    };
  }

  # configuration.nix
  {
    services.nordvpn.enable = true;
    users.users.myuser.extraGroups = [ "nordvpn" ];
    documentation.nixos.enable = false;
  }

@different-error different-error changed the title nordvpn: init at 4.5.0, maintainers: add different-error nordvpn: init at 4.6.0, maintainers: add different-error Apr 22, 2026
@different-error

Copy link
Copy Markdown
Contributor Author

Cli works as expected. I haven't verified GUI yet. Regarding the build error:

building '/nix/store/iddxla2bkny7mzjdqq5frxs24axil44v-nixpkgs-vet.drv'...
- Attribute `pkgs.nordvpn` is a new package with `strictDeps` unset or set to `false`.
  Please enable `strictDeps = true;` in pkgs/by-name/no/nordvpn/package.nix.
 (NPV-164)
- Attribute `pkgs.nordvpn` is a new package with `__structuredAttrs` unset or set to `false`.
  Please enable `__structuredAttrs = true;` in pkgs/by-name/no/nordvpn/package.nix.
 (NPV-166)
This PR introduces additional instances of discouraged patterns as listed above. Please fix them before merging.
error: Cannot build '/nix/store/iddxla2bkny7mzjdqq5frxs24axil44v-nixpkgs-vet.drv'.
       Reason: builder failed with exit code 1.
       Output paths:
         /nix/store/b0rnsbcw36b8ik2z026dg1y3h7canlwy-nixpkgs-vet
       Last 7 log lines:
       > - Attribute `pkgs.nordvpn` is a new package with `strictDeps` unset or set to `false`.
       >   Please enable `strictDeps = true;` in pkgs/by-name/no/nordvpn/package.nix.
       >  (NPV-164)
       > - Attribute `pkgs.nordvpn` is a new package with `__structuredAttrs` unset or set to `false`.
       >   Please enable `__structuredAttrs = true;` in pkgs/by-name/no/nordvpn/package.nix.
       >  (NPV-166)
       > This PR introduces additional instances of discouraged patterns as listed above. Please fix them before merging.
       For full logs, run:
         nix log /nix/store/iddxla2bkny7mzjdqq5frxs24axil44v-nixpkgs-vet.drv
To run locally: ./ci/nixpkgs-vet.sh master https://github.com/NixOS/nixpkgs.git
If you're having trouble, ping @NixOS/nixpkgs-vet

Applying the fixes specified in the output surprisingly results in not including the nordvpn package in the VM. I'll investigate...

@different-error different-error marked this pull request as draft April 22, 2026 15:12
@different-error different-error force-pushed the nordvpn-pkg-gui branch 2 times, most recently from ef5609c to b00614a Compare June 8, 2026 04:57
@different-error different-error changed the title nordvpn: init at 4.6.0, maintainers: add different-error nordvpn: init at 5.0.0, maintainers: add different-error Jun 8, 2026
@different-error different-error marked this pull request as ready for review June 8, 2026 05:37
@different-error

Copy link
Copy Markdown
Contributor Author

NordVPN 5.0.0 cli and gui verified to work as expected using openvpn and nordlynx protocols.

Comment thread pkgs/by-name/no/nordvpn/cli.nix Outdated
@nixpkgs-ci nixpkgs-ci Bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Jun 9, 2026
@different-error different-error force-pushed the nordvpn-pkg-gui branch 2 times, most recently from c63f18e to 84a8862 Compare June 16, 2026 10:10
@different-error different-error changed the title nordvpn: init at 5.0.0, maintainers: add different-error nordvpn: init at 5.1.0, maintainers: add different-error Jun 16, 2026
@different-error

Copy link
Copy Markdown
Contributor Author

NordVPN 5.1.0

@different-error different-error changed the title nordvpn: init at 5.1.0, maintainers: add different-error nordvpn: init at 5.2.0, maintainers: add different-error Jul 2, 2026
@different-error

Copy link
Copy Markdown
Contributor Author

NordVPN 5.2.0

@different-error

Copy link
Copy Markdown
Contributor Author

Upvote this pr on discord pls.

@romildo romildo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@nixpkgs-ci nixpkgs-ci Bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jul 2, 2026
@romildo romildo added this pull request to the merge queue Jul 3, 2026
Merged via the queue into NixOS:master with commit a3c90f8 Jul 3, 2026
28 of 30 checks passed
@different-error different-error deleted the nordvpn-pkg-gui branch July 4, 2026 03:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants