Merge pull request #82584 from Atemu/dnscrypt-default-config
dnscrypt-proxy2: base settings on example config
This commit is contained in:
commit
824d2c92bd
|
@ -370,6 +370,13 @@
|
||||||
<literal>unbound-control</literal> without passing a custom configuration location.
|
<literal>unbound-control</literal> without passing a custom configuration location.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <literal>services.dnscrypt-proxy2</literal> module now takes the upstream's example configuration and updates it with the user's settings.
|
||||||
|
|
||||||
|
An option has been added to restore the old behaviour if you prefer to declare the configuration from scratch.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
NixOS now defaults to the unified cgroup hierarchy (cgroupsv2).
|
NixOS now defaults to the unified cgroup hierarchy (cgroupsv2).
|
||||||
|
|
|
@ -27,6 +27,16 @@ in
|
||||||
default = {};
|
default = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
upstreamDefaults = mkOption {
|
||||||
|
description = ''
|
||||||
|
Whether to base the config declared in <literal>services.dnscrypt-proxy2.settings</literal> on the upstream example config (<link xlink:href="https://github.com/DNSCrypt/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-dnscrypt-proxy.toml"/>)
|
||||||
|
|
||||||
|
Disable this if you want to declare your dnscrypt config from scratch.
|
||||||
|
'';
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
configFile = mkOption {
|
configFile = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
Path to TOML config file. See: <link xlink:href="https://github.com/DNSCrypt/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-dnscrypt-proxy.toml"/>
|
Path to TOML config file. See: <link xlink:href="https://github.com/DNSCrypt/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-dnscrypt-proxy.toml"/>
|
||||||
|
@ -38,7 +48,13 @@ in
|
||||||
json = builtins.toJSON cfg.settings;
|
json = builtins.toJSON cfg.settings;
|
||||||
passAsFile = [ "json" ];
|
passAsFile = [ "json" ];
|
||||||
} ''
|
} ''
|
||||||
${pkgs.remarshal}/bin/json2toml < $jsonPath > $out
|
${if cfg.upstreamDefaults then ''
|
||||||
|
${pkgs.remarshal}/bin/toml2json ${pkgs.dnscrypt-proxy2.src}/dnscrypt-proxy/example-dnscrypt-proxy.toml > example.json
|
||||||
|
${pkgs.jq}/bin/jq --slurp add example.json $jsonPath > config.json # merges the two
|
||||||
|
'' else ''
|
||||||
|
cp $jsonPath config.json
|
||||||
|
''}
|
||||||
|
${pkgs.remarshal}/bin/json2toml < config.json > $out
|
||||||
'';
|
'';
|
||||||
defaultText = literalExample "TOML file generated from services.dnscrypt-proxy2.settings";
|
defaultText = literalExample "TOML file generated from services.dnscrypt-proxy2.settings";
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue