Rosenpass

Rosenpass is a formally verified, post-quantum secure VPN that uses WireGuard to transport the actual data.

Declared in: projects/Rosenpass/default.nix

Demo

Implement missing demo

Options

programs.rosenpass
programs.rosenpass.enable

Whether to enable rosenpass.

Type:
boolean
Default:
false
Declared in:
projects/Rosenpass/programs/basic/module.nix
services.rosenpass
services.rosenpass.defaultDevice

Name of the network interface to use for all peers by default.

Type:
null or string
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.enable

Whether to enable Rosenpass.

Type:
boolean
Default:
false
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.package

The rosenpass package to use.

Type:
package
Default:
pkgs.rosenpass
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings

Configuration for Rosenpass, see https://rosenpass.eu/ for further information.

Type:
open submodule of (TOML value)
Default:
{ }
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.listen

List of local endpoints to listen for connections.

Type:
list of string
Default:
[ ]
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.peers

List of peers to exchange keys with.

Type:
list of (open submodule of (TOML value))
Default:
[ ]
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.peers.*.device

Name of the local WireGuard interface to use for this peer.

Type:
string
Default:
config.services.rosenpass.defaultDevice
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.peers.*.endpoint

Endpoint of the remote Rosenpass peer.

Type:
null or string
Default:
null
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.peers.*.peer

WireGuard public key corresponding to the remote Rosenpass peer.

Type:
string
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.peers.*.public_key

Path to a file containing the public key of the remote Rosenpass peer.

Type:
absolute path
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.public_key

Path to a file containing the public key of the local Rosenpass peer. Generate this by running {command}rosenpass gen-keys.

Type:
absolute path
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.secret_key

Path to a file containing the secret key of the local Rosenpass peer. Generate this by running {command}rosenpass gen-keys.

Type:
absolute path
Declared in:
nixos/modules/services/networking/rosenpass.nix
services.rosenpass.settings.verbosity

Verbosity of output produced by the service.

Type:
one of "Verbose", "Quiet"
Default:
"Quiet"
Declared in:
nixos/modules/services/networking/rosenpass.nix

Examples

basic
{ ... }:

{
  services.rosenpass.enable = true;
}

Declared in: projects/Rosenpass/services/basic/examples/basic.nix

This project is funded by NLnet through these subgrants:

Core
Rosenpass-integration
Review
Rosenpass
Rosenpass-API

Related links: