1# dsnet {#module-services-dsnet}
2
3dsnet is a CLI tool to manage a centralised wireguard server. It allows easy
4generation of client configuration, handling key generation, IP allocation etc.
5
6It keeps its own configuration at `/etc/dsnetconfig.json`, which is more of a
7database. It contains key material too.
8
9The way this module works is to patch this database with whatever is configured
10in the nix service instantiation. This happens automatically when required.
11
12This way it is possible to decide what to let dnset manage and what parts you
13want to keep declaratively.
14
15```
16services.dsnet = {
17 enable = true;
18 settings = {
19 ExternalHostname = "vpn.example.com";
20 Network = "10.171.90.0/24";
21 Network6 = "";
22 IP = "10.171.90.1";
23 IP6 = "";
24 DNS = "10.171.90.1";
25 Networks = [ "0.0.0.0/0" ];
26 };
27
28```
29
30
31See <https://github.com/naggie/dsnet> for more information.