Nix packages and a NixOS module for running the official NymVPN Linux release.
Translations: 简体中文, Русский, فارسی, Türkçe.
Use this flake if you want NymVPN on NixOS with the desktop app, the
nym-vpnc command-line client, and the nym-vpnd system daemon wired together
through systemd, D-Bus, and polkit.
nym-vpn: the NymVPN desktop app.nym-vpnc: the NymVPN command-line client.nym-vpnd: the NymVPN daemon.- A NixOS module at
nymix.nixosModules.default. - A package overlay at
nymix.overlays.default.
Supported systems are x86_64-linux and aarch64-linux.
You need Nix with flakes enabled.
Add nymix to your flake inputs:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nymix.url = "github:nmnmcc/nymix";
};
outputs =
{
nixpkgs,
nymix,
...
}:
{
nixosConfigurations.your-host = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
nymix.nixosModules.default
{
services.nym.enable = true;
}
];
};
};
}Then rebuild your system:
sudo nixos-rebuild switch --flake .#your-hostAfter rebuilding, open NymVPN from your desktop launcher or run the CLI:
nym-vpnc --helpThe NixOS module also starts the daemon:
systemctl status nym-vpndservices.nym.enable = true enables the app, CLI, and daemon. If you want to
choose components yourself, enable them individually:
{
services.nym = {
app.enable = true;
vpnc.enable = true;
vpnd.enable = true;
};
}For example, a CLI-focused setup can enable only the client and daemon:
{
services.nym = {
vpnc.enable = true;
vpnd.enable = true;
};
}When the daemon is enabled, the module enables D-Bus and polkit, installs the daemon policy, and allows active local sessions to access the daemon without an extra password prompt.
You can run the packages directly without the NixOS module:
nix run github:nmnmcc/nymix#nym-vpn
nix run github:nmnmcc/nymix#nym-vpnc -- --help
nix run github:nmnmcc/nymix#nym-vpnd -- --helpFor a full VPN setup on NixOS, prefer the module above. It configures the daemon service and permissions for you.
If you want the packages in your own package set, use the overlay:
{
nixpkgs.overlays = [
nymix.overlays.default
];
environment.systemPackages = with pkgs; [
nym-vpn
nym-vpnc
nym-vpnd
];
}If your system uses nymix as a flake input, update it like any other input:
nix flake update nymix
sudo nixos-rebuild switch --flake .#your-hostThis repository pins the upstream NymVPN app and core releases in
sources.json. The app, CLI, and daemon are kept on the same upstream X.Y.Z
release pair so that mixed versions are not installed together by accident.
Check whether the daemon is running:
systemctl status nym-vpndRead daemon logs from the current boot:
journalctl -u nym-vpnd -bIf Nix says the package is not available for your platform, make sure your host
is either x86_64-linux or aarch64-linux.
The packaged NymVPN binaries are distributed by the upstream NymVPN project. This flake packages those Linux releases for Nix and NixOS.