treewide: add defaultText for options with simple interpolation defaults
adds defaultText for all options that use `cfg.*` values in their defaults, but only for interpolations with no extra processing (other than toString where necessary)
This commit is contained in:
parent
f6d0b014fe
commit
fb0e5be843
@ -1,6 +1,7 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
{ config, lib, options, pkgs, ...}:
|
||||
let
|
||||
cfg = config.services.hadoop;
|
||||
opt = options.services.hadoop;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
@ -44,6 +45,14 @@ with lib;
|
||||
"mapreduce.map.env" = "HADOOP_MAPRED_HOME=${cfg.package}/lib/${cfg.package.untarDir}";
|
||||
"mapreduce.reduce.env" = "HADOOP_MAPRED_HOME=${cfg.package}/lib/${cfg.package.untarDir}";
|
||||
};
|
||||
defaultText = literalExpression ''
|
||||
{
|
||||
"mapreduce.framework.name" = "yarn";
|
||||
"yarn.app.mapreduce.am.env" = "HADOOP_MAPRED_HOME=''${config.${opt.package}}/lib/''${config.${opt.package}.untarDir}";
|
||||
"mapreduce.map.env" = "HADOOP_MAPRED_HOME=''${config.${opt.package}}/lib/''${config.${opt.package}.untarDir}";
|
||||
"mapreduce.reduce.env" = "HADOOP_MAPRED_HOME=''${config.${opt.package}}/lib/''${config.${opt.package}.untarDir}";
|
||||
}
|
||||
'';
|
||||
type = types.attrsOf types.anything;
|
||||
example = literalExpression ''
|
||||
options.services.hadoop.mapredSite.default // {
|
||||
@ -98,6 +107,9 @@ with lib;
|
||||
|
||||
log4jProperties = mkOption {
|
||||
default = "${cfg.package}/lib/${cfg.package.untarDir}/etc/hadoop/log4j.properties";
|
||||
defaultText = literalExpression ''
|
||||
"''${config.${opt.package}}/lib/''${config.${opt.package}.untarDir}/etc/hadoop/log4j.properties"
|
||||
'';
|
||||
type = types.path;
|
||||
example = literalExpression ''
|
||||
"''${pkgs.hadoop}/lib/''${pkgs.hadoop.untarDir}/etc/hadoop/log4j.properties";
|
||||
|
@ -1,11 +1,12 @@
|
||||
# NixOS module for Buildbot continous integration server.
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.buildbot-master;
|
||||
opt = options.services.buildbot-master;
|
||||
|
||||
python = cfg.package.pythonModule;
|
||||
|
||||
@ -152,6 +153,7 @@ in {
|
||||
|
||||
buildbotDir = mkOption {
|
||||
default = "${cfg.home}/master";
|
||||
defaultText = literalExpression ''"''${config.${opt.home}}/master"'';
|
||||
type = types.path;
|
||||
description = "Specifies the Buildbot directory.";
|
||||
};
|
||||
|
@ -1,11 +1,12 @@
|
||||
# NixOS module for Buildbot Worker.
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.buildbot-worker;
|
||||
opt = options.services.buildbot-worker;
|
||||
|
||||
python = cfg.package.pythonModule;
|
||||
|
||||
@ -77,6 +78,7 @@ in {
|
||||
|
||||
buildbotDir = mkOption {
|
||||
default = "${cfg.home}/worker";
|
||||
defaultText = literalExpression ''"''${config.${opt.home}}/worker"'';
|
||||
type = types.path;
|
||||
description = "Specifies the Buildbot directory.";
|
||||
};
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.gocd-agent;
|
||||
opt = options.services.gocd-agent;
|
||||
in {
|
||||
options = {
|
||||
services.gocd-agent = {
|
||||
@ -98,6 +99,15 @@ in {
|
||||
"-Dcruise.console.publish.interval=10"
|
||||
"-Djava.security.egd=file:/dev/./urandom"
|
||||
];
|
||||
defaultText = literalExpression ''
|
||||
[
|
||||
"-Xms''${config.${opt.initialJavaHeapSize}}"
|
||||
"-Xmx''${config.${opt.maxJavaHeapMemory}}"
|
||||
"-Djava.io.tmpdir=/tmp"
|
||||
"-Dcruise.console.publish.interval=10"
|
||||
"-Djava.security.egd=file:/dev/./urandom"
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
Specifies startup command line arguments to pass to Go.CD agent
|
||||
java process.
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.gocd-server;
|
||||
opt = options.services.gocd-server;
|
||||
in {
|
||||
options = {
|
||||
services.gocd-server = {
|
||||
@ -106,6 +107,20 @@ in {
|
||||
"-Dcruise.server.port=${toString cfg.port}"
|
||||
"-Dcruise.server.ssl.port=${toString cfg.sslPort}"
|
||||
];
|
||||
defaultText = literalExpression ''
|
||||
[
|
||||
"-Xms''${config.${opt.initialJavaHeapSize}}"
|
||||
"-Xmx''${config.${opt.maxJavaHeapMemory}}"
|
||||
"-Dcruise.listen.host=''${config.${opt.listenAddress}}"
|
||||
"-Duser.language=en"
|
||||
"-Djruby.rack.request.size.threshold.bytes=30000000"
|
||||
"-Duser.country=US"
|
||||
"-Dcruise.config.dir=''${config.${opt.workDir}}/conf"
|
||||
"-Dcruise.config.file=''${config.${opt.workDir}}/conf/cruise-config.xml"
|
||||
"-Dcruise.server.port=''${toString config.${opt.port}}"
|
||||
"-Dcruise.server.ssl.port=''${toString config.${opt.sslPort}}"
|
||||
]
|
||||
'';
|
||||
|
||||
description = ''
|
||||
Specifies startup command line arguments to pass to Go.CD server
|
||||
|
@ -4,6 +4,7 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.neo4j;
|
||||
opt = options.services.neo4j;
|
||||
certDirOpt = options.services.neo4j.directories.certificates;
|
||||
isDefaultPathOption = opt: isOption opt && opt.type == types.path && opt.highestPrio >= 1500;
|
||||
|
||||
@ -256,6 +257,7 @@ in {
|
||||
certificates = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.directories.home}/certificates";
|
||||
defaultText = literalExpression ''"''${config.${opt.directories.home}}/certificates"'';
|
||||
description = ''
|
||||
Directory for storing certificates to be used by Neo4j for
|
||||
TLS connections.
|
||||
@ -280,6 +282,7 @@ in {
|
||||
data = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.directories.home}/data";
|
||||
defaultText = literalExpression ''"''${config.${opt.directories.home}}/data"'';
|
||||
description = ''
|
||||
Path of the data directory. You must not configure more than one
|
||||
Neo4j installation to use the same data directory.
|
||||
@ -305,6 +308,7 @@ in {
|
||||
imports = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.directories.home}/import";
|
||||
defaultText = literalExpression ''"''${config.${opt.directories.home}}/import"'';
|
||||
description = ''
|
||||
The root directory for file URLs used with the Cypher
|
||||
<literal>LOAD CSV</literal> clause. Only meaningful when
|
||||
@ -321,6 +325,7 @@ in {
|
||||
plugins = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.directories.home}/plugins";
|
||||
defaultText = literalExpression ''"''${config.${opt.directories.home}}/plugins"'';
|
||||
description = ''
|
||||
Path of the database plugin directory. Compiled Java JAR files that
|
||||
contain database procedures will be loaded if they are placed in
|
||||
|
@ -1,11 +1,12 @@
|
||||
# tcsd daemon.
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
{ config, options, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
||||
cfg = config.services.tcsd;
|
||||
opt = options.services.tcsd;
|
||||
|
||||
tcsdConf = pkgs.writeText "tcsd.conf" ''
|
||||
port = 30003
|
||||
@ -83,6 +84,7 @@ in
|
||||
|
||||
platformCred = mkOption {
|
||||
default = "${cfg.stateDir}/platform.cert";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/platform.cert"'';
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path to the platform credential for your TPM. Your TPM
|
||||
@ -96,6 +98,7 @@ in
|
||||
|
||||
conformanceCred = mkOption {
|
||||
default = "${cfg.stateDir}/conformance.cert";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/conformance.cert"'';
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path to the conformance credential for your TPM.
|
||||
@ -104,6 +107,7 @@ in
|
||||
|
||||
endorsementCred = mkOption {
|
||||
default = "${cfg.stateDir}/endorsement.cert";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/endorsement.cert"'';
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path to the endorsement credential for your TPM.
|
||||
|
@ -50,6 +50,7 @@ in {
|
||||
initialCluster = mkOption {
|
||||
description = "Etcd initial cluster configuration for bootstrapping.";
|
||||
default = ["${cfg.name}=http://127.0.0.1:2380"];
|
||||
defaultText = literalExpression ''["''${config.${opt.name}}=http://127.0.0.1:2380"]'';
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.exhibitor;
|
||||
opt = options.services.exhibitor;
|
||||
exhibitorConfig = ''
|
||||
zookeeper-install-directory=${cfg.baseDir}/zookeeper
|
||||
zookeeper-data-directory=${cfg.zkDataDir}
|
||||
@ -165,6 +166,7 @@ in
|
||||
zkDataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.baseDir}/zkData";
|
||||
defaultText = literalExpression ''"''${config.${opt.baseDir}}/zkData"'';
|
||||
description = ''
|
||||
The Zookeeper data directory
|
||||
'';
|
||||
@ -172,6 +174,7 @@ in
|
||||
zkLogDir = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.baseDir}/zkLogs";
|
||||
defaultText = literalExpression ''"''${config.${opt.baseDir}}/zkLogs"'';
|
||||
description = ''
|
||||
The Zookeeper logs directory
|
||||
'';
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.gitea;
|
||||
opt = options.services.gitea;
|
||||
gitea = cfg.package;
|
||||
pg = config.services.postgresql;
|
||||
useMysql = cfg.database.type == "mysql";
|
||||
@ -51,6 +52,7 @@ in
|
||||
log = {
|
||||
rootPath = mkOption {
|
||||
default = "${cfg.stateDir}/log";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/log"'';
|
||||
type = types.str;
|
||||
description = "Root path for log files.";
|
||||
};
|
||||
@ -130,6 +132,7 @@ in
|
||||
path = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/data/gitea.db";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/data/gitea.db"'';
|
||||
description = "Path to the sqlite3 database file.";
|
||||
};
|
||||
|
||||
@ -166,6 +169,7 @@ in
|
||||
backupDir = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/dump";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/dump"'';
|
||||
description = "Path to the dump files.";
|
||||
};
|
||||
};
|
||||
@ -199,6 +203,7 @@ in
|
||||
contentDir = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/data/lfs";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/data/lfs"'';
|
||||
description = "Where to store LFS files.";
|
||||
};
|
||||
};
|
||||
@ -212,6 +217,7 @@ in
|
||||
repositoryRoot = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/repositories";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/repositories"'';
|
||||
description = "Path to the git repositories.";
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.gogs;
|
||||
opt = options.services.gogs;
|
||||
configFile = pkgs.writeText "app.ini" ''
|
||||
APP_NAME = ${cfg.appName}
|
||||
RUN_USER = ${cfg.user}
|
||||
@ -129,6 +130,7 @@ in
|
||||
path = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/data/gogs.db";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/data/gogs.db"'';
|
||||
description = "Path to the sqlite3 database file.";
|
||||
};
|
||||
};
|
||||
@ -142,6 +144,7 @@ in
|
||||
repositoryRoot = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/repositories";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/repositories"'';
|
||||
description = "Path to the git repositories.";
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -7,6 +7,7 @@ let
|
||||
name = "headphones";
|
||||
|
||||
cfg = config.services.headphones;
|
||||
opt = options.services.headphones;
|
||||
|
||||
in
|
||||
|
||||
@ -29,6 +30,7 @@ in
|
||||
configFile = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.dataDir}/config.ini";
|
||||
defaultText = literalExpression ''"''${config.${opt.dataDir}}/config.ini"'';
|
||||
description = "Path to config file.";
|
||||
};
|
||||
host = mkOption {
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{ config, options, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -7,6 +7,7 @@ let
|
||||
registrationFile = "${dataDir}/discord-registration.yaml";
|
||||
appDir = "${pkgs.matrix-appservice-discord}/${pkgs.matrix-appservice-discord.passthru.nodeAppDir}";
|
||||
cfg = config.services.matrix-appservice-discord;
|
||||
opt = options.services.matrix-appservice-discord;
|
||||
# TODO: switch to configGen.json once RFC42 is implemented
|
||||
settingsFile = pkgs.writeText "matrix-appservice-discord-settings.json" (builtins.toJSON cfg.settings);
|
||||
|
||||
@ -74,6 +75,7 @@ in {
|
||||
url = mkOption {
|
||||
type = types.str;
|
||||
default = "http://localhost:${toString cfg.port}";
|
||||
defaultText = literalExpression ''"http://localhost:''${toString config.${opt.port}}"'';
|
||||
description = ''
|
||||
The URL where the application service is listening for HS requests.
|
||||
'';
|
||||
|
@ -47,6 +47,9 @@ in
|
||||
|
||||
qserve = mkOption {
|
||||
default = [ "${cfg.qserve.address}:${toString cfg.qserve.port}" ];
|
||||
defaultText = literalExpression ''
|
||||
[ "''${config.${opt.qserve.address}}:''${toString config.${opt.qserve.port}}"
|
||||
]'';
|
||||
type = types.listOf types.str;
|
||||
description = "Register qserve instance.";
|
||||
}; # nserve.qserve
|
||||
@ -129,7 +132,7 @@ in
|
||||
You have to enable it, or use your own way for serving files
|
||||
and set the http.url option accordingly.
|
||||
'';
|
||||
type = types.submodule ({
|
||||
type = types.submodule ({ config, options, ... }: {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
default = true;
|
||||
@ -150,7 +153,8 @@ in
|
||||
}; # nslave.http.address
|
||||
|
||||
url = mkOption {
|
||||
default = "http://localhost:${toString cfg.nslave.http.port}/cache";
|
||||
default = "http://localhost:${toString config.port}/cache";
|
||||
defaultText = literalExpression ''"http://localhost:''${toString config.${options.port}}/cache"'';
|
||||
type = types.str;
|
||||
description = ''
|
||||
Specify URL for accessing generated files from cache.
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -7,6 +7,7 @@ let
|
||||
name = "sickbeard";
|
||||
|
||||
cfg = config.services.sickbeard;
|
||||
opt = options.services.sickbeard;
|
||||
sickbeard = cfg.package;
|
||||
|
||||
in
|
||||
@ -39,6 +40,7 @@ in
|
||||
configFile = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.dataDir}/config.ini";
|
||||
defaultText = literalExpression ''"''${config.${opt.dataDir}}/config.ini"'';
|
||||
description = "Path to config file.";
|
||||
};
|
||||
port = mkOption {
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
scfg = cfg.builds;
|
||||
rcfg = config.services.redis;
|
||||
iniKey = "builds.sr.ht";
|
||||
@ -38,6 +39,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/buildsrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/buildsrht"'';
|
||||
description = ''
|
||||
State path for builds.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
cfgIni = cfg.settings;
|
||||
scfg = cfg.dispatch;
|
||||
iniKey = "dispatch.sr.ht";
|
||||
@ -38,6 +39,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/dispatchsrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/dispatchsrht"'';
|
||||
description = ''
|
||||
State path for dispatch.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
scfg = cfg.git;
|
||||
iniKey = "git.sr.ht";
|
||||
|
||||
@ -41,6 +42,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/gitsrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/gitsrht"'';
|
||||
description = ''
|
||||
State path for git.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
scfg = cfg.hg;
|
||||
iniKey = "hg.sr.ht";
|
||||
|
||||
@ -40,6 +41,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/hgsrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/hgsrht"'';
|
||||
description = ''
|
||||
State path for hg.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
cfgIni = cfg.settings;
|
||||
scfg = cfg.hub;
|
||||
iniKey = "hub.sr.ht";
|
||||
@ -38,6 +39,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/hubsrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/hubsrht"'';
|
||||
description = ''
|
||||
State path for hub.sr.ht.
|
||||
'';
|
||||
|
@ -1,11 +1,12 @@
|
||||
# Email setup is fairly involved, useful references:
|
||||
# https://drewdevault.com/2018/08/05/Local-mail-server.html
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
cfgIni = cfg.settings;
|
||||
scfg = cfg.lists;
|
||||
iniKey = "lists.sr.ht";
|
||||
@ -42,6 +43,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/listssrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/listssrht"'';
|
||||
description = ''
|
||||
State path for lists.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
cfgIni = cfg.settings;
|
||||
scfg = cfg.man;
|
||||
iniKey = "man.sr.ht";
|
||||
@ -38,6 +39,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/mansrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/mansrht"'';
|
||||
description = ''
|
||||
State path for man.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
cfgIni = cfg.settings;
|
||||
scfg = cfg.meta;
|
||||
iniKey = "meta.sr.ht";
|
||||
@ -39,6 +40,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/metasrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/metasrht"'';
|
||||
description = ''
|
||||
State path for meta.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
cfgIni = cfg.settings;
|
||||
scfg = cfg.paste;
|
||||
iniKey = "paste.sr.ht";
|
||||
@ -39,6 +40,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/pastesrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/pastesrht"'';
|
||||
description = ''
|
||||
State path for pastesrht.sr.ht.
|
||||
'';
|
||||
|
@ -1,8 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.sourcehut;
|
||||
opt = options.services.sourcehut;
|
||||
cfgIni = cfg.settings;
|
||||
scfg = cfg.todo;
|
||||
iniKey = "todo.sr.ht";
|
||||
@ -39,6 +40,7 @@ in
|
||||
statePath = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.statePath}/todosrht";
|
||||
defaultText = literalExpression ''"''${config.${opt.statePath}}/todosrht"'';
|
||||
description = ''
|
||||
State path for todo.sr.ht.
|
||||
'';
|
||||
|
@ -404,6 +404,7 @@ in {
|
||||
path = mkOption {
|
||||
description = "Database path.";
|
||||
default = "${cfg.dataDir}/data/grafana.db";
|
||||
defaultText = literalExpression ''"''${config.${opt.dataDir}}/data/grafana.db"'';
|
||||
type = types.path;
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.graphite;
|
||||
opt = options.services.graphite;
|
||||
writeTextOrNull = f: t: mapNullable (pkgs.writeTextDir f) t;
|
||||
|
||||
dataDir = cfg.dataDir;
|
||||
@ -312,12 +313,14 @@ in {
|
||||
|
||||
seyrenUrl = mkOption {
|
||||
default = "http://localhost:${toString cfg.seyren.port}/";
|
||||
defaultText = literalExpression ''"http://localhost:''${toString config.${opt.seyren.port}}/"'';
|
||||
description = "Host where seyren is accessible.";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
graphiteUrl = mkOption {
|
||||
default = "http://${cfg.web.listenAddress}:${toString cfg.web.port}";
|
||||
defaultText = literalExpression ''"http://''${config.${opt.web.listenAddress}}:''${toString config.${opt.web.port}}"'';
|
||||
description = "Host where graphite service runs.";
|
||||
type = types.str;
|
||||
};
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.privacyidea;
|
||||
opt = options.services.privacyidea;
|
||||
|
||||
uwsgi = pkgs.uwsgi.override { plugins = [ "python3" ]; };
|
||||
python = uwsgi.python3;
|
||||
@ -112,6 +113,7 @@ in
|
||||
encFile = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/enckey";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/enckey"'';
|
||||
description = ''
|
||||
This is used to encrypt the token data and token passwords
|
||||
'';
|
||||
@ -120,6 +122,7 @@ in
|
||||
auditKeyPrivate = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/private.pem";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/private.pem"'';
|
||||
description = ''
|
||||
Private Key for signing the audit log.
|
||||
'';
|
||||
@ -128,6 +131,7 @@ in
|
||||
auditKeyPublic = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.stateDir}/public.pem";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/public.pem"'';
|
||||
description = ''
|
||||
Public key for checking signatures of the audit log.
|
||||
'';
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.peerflix;
|
||||
opt = options.services.peerflix;
|
||||
|
||||
configFile = pkgs.writeText "peerflix-config.json" ''
|
||||
{
|
||||
@ -32,6 +33,7 @@ in {
|
||||
downloadDir = mkOption {
|
||||
description = "Peerflix temporary download directory.";
|
||||
default = "${cfg.stateDir}/torrents";
|
||||
defaultText = literalExpression ''"''${config.${opt.stateDir}}/torrents"'';
|
||||
type = types.path;
|
||||
};
|
||||
};
|
||||
|
@ -1,10 +1,11 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{ config, options, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.rtorrent;
|
||||
opt = options.services.rtorrent;
|
||||
|
||||
in {
|
||||
options.services.rtorrent = {
|
||||
@ -21,6 +22,7 @@ in {
|
||||
downloadDir = mkOption {
|
||||
type = types.str;
|
||||
default = "${cfg.dataDir}/download";
|
||||
defaultText = literalExpression ''"''${config.${opt.dataDir}}/download"'';
|
||||
description = ''
|
||||
Where to put downloaded files.
|
||||
'';
|
||||
|
@ -1,7 +1,8 @@
|
||||
{ config, lib, pkgs, utils, ... }:
|
||||
{ config, lib, options, pkgs, utils, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.unifi-video;
|
||||
opt = options.services.unifi-video;
|
||||
mainClass = "com.ubnt.airvision.Main";
|
||||
cmd = ''
|
||||
${pkgs.jsvc}/bin/jsvc \
|
||||
@ -164,6 +165,7 @@ in
|
||||
pidFile = mkOption {
|
||||
type = types.path;
|
||||
default = "${cfg.dataDir}/unifi-video.pid";
|
||||
defaultText = literalExpression ''"''${config.${opt.dataDir}}/unifi-video.pid"'';
|
||||
description = "Location of unifi-video pid file.";
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user