From e24a8775a86905ad001c4c965a7d180b41c10c52 Mon Sep 17 00:00:00 2001 From: pennae Date: Sun, 5 Dec 2021 20:40:24 +0100 Subject: treewide: set defaultText for options using simple path defaults adds defaultText for all options that set their default to a path expression using the ubiquitous `cfg` shortcut bindings. --- nixos/modules/services/misc/etcd.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'nixos/modules/services/misc/etcd.nix') diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix index c4ea091a038..fc6dfaa4285 100644 --- a/nixos/modules/services/misc/etcd.nix +++ b/nixos/modules/services/misc/etcd.nix @@ -1,9 +1,10 @@ -{ config, lib, pkgs, ... }: +{ config, lib, options, pkgs, ... }: with lib; let cfg = config.services.etcd; + opt = options.services.etcd; in { @@ -23,6 +24,7 @@ in { advertiseClientUrls = mkOption { description = "Etcd list of this member's client URLs to advertise to the rest of the cluster."; default = cfg.listenClientUrls; + defaultText = literalExpression "config.${opt.listenClientUrls}"; type = types.listOf types.str; }; @@ -41,6 +43,7 @@ in { initialAdvertisePeerUrls = mkOption { description = "Etcd list of this member's peer URLs to advertise to rest of the cluster."; default = cfg.listenPeerUrls; + defaultText = literalExpression "config.${opt.listenPeerUrls}"; type = types.listOf types.str; }; @@ -95,18 +98,21 @@ in { peerCertFile = mkOption { description = "Cert file to use for peer to peer communication"; default = cfg.certFile; + defaultText = literalExpression "config.${opt.certFile}"; type = types.nullOr types.path; }; peerKeyFile = mkOption { description = "Key file to use for peer to peer communication"; default = cfg.keyFile; + defaultText = literalExpression "config.${opt.keyFile}"; type = types.nullOr types.path; }; peerTrustedCaFile = mkOption { description = "Certificate authority file to use for peer to peer communication"; default = cfg.trustedCaFile; + defaultText = literalExpression "config.${opt.trustedCaFile}"; type = types.nullOr types.path; }; -- cgit 1.4.1 From fb0e5be84331188a69b3edd31679ca6576edb75a Mon Sep 17 00:00:00 2001 From: pennae Date: Sun, 5 Dec 2021 21:28:49 +0100 Subject: 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) --- nixos/modules/services/cluster/hadoop/default.nix | 14 +++++++++++++- .../services/continuous-integration/buildbot/master.nix | 4 +++- .../services/continuous-integration/buildbot/worker.nix | 4 +++- .../continuous-integration/gocd-agent/default.nix | 12 +++++++++++- .../continuous-integration/gocd-server/default.nix | 17 ++++++++++++++++- nixos/modules/services/databases/neo4j.nix | 5 +++++ nixos/modules/services/hardware/tcsd.nix | 6 +++++- nixos/modules/services/misc/etcd.nix | 1 + nixos/modules/services/misc/exhibitor.nix | 5 ++++- nixos/modules/services/misc/gitea.nix | 8 +++++++- nixos/modules/services/misc/gogs.nix | 5 ++++- nixos/modules/services/misc/headphones.nix | 4 +++- .../modules/services/misc/matrix-appservice-discord.nix | 4 +++- nixos/modules/services/misc/mwlib.nix | 8 ++++++-- nixos/modules/services/misc/sickbeard.nix | 4 +++- nixos/modules/services/misc/sourcehut/builds.nix | 4 +++- nixos/modules/services/misc/sourcehut/dispatch.nix | 4 +++- nixos/modules/services/misc/sourcehut/git.nix | 4 +++- nixos/modules/services/misc/sourcehut/hg.nix | 4 +++- nixos/modules/services/misc/sourcehut/hub.nix | 4 +++- nixos/modules/services/misc/sourcehut/lists.nix | 4 +++- nixos/modules/services/misc/sourcehut/man.nix | 4 +++- nixos/modules/services/misc/sourcehut/meta.nix | 4 +++- nixos/modules/services/misc/sourcehut/paste.nix | 4 +++- nixos/modules/services/misc/sourcehut/todo.nix | 4 +++- nixos/modules/services/monitoring/grafana.nix | 1 + nixos/modules/services/monitoring/graphite.nix | 5 ++++- nixos/modules/services/security/privacyidea.nix | 6 +++++- nixos/modules/services/torrent/peerflix.nix | 4 +++- nixos/modules/services/torrent/rtorrent.nix | 4 +++- nixos/modules/services/video/unifi-video.nix | 4 +++- 31 files changed, 136 insertions(+), 29 deletions(-) (limited to 'nixos/modules/services/misc/etcd.nix') diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix index 90f22c48e05..a1a95fe31ca 100644 --- a/nixos/modules/services/cluster/hadoop/default.nix +++ b/nixos/modules/services/cluster/hadoop/default.nix @@ -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"; diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 2dc61c21ac7..aaa159d3cb1 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -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."; }; diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix index dd4f4a4a74a..1d7f53bb655 100644 --- a/nixos/modules/services/continuous-integration/buildbot/worker.nix +++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix @@ -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."; }; diff --git a/nixos/modules/services/continuous-integration/gocd-agent/default.nix b/nixos/modules/services/continuous-integration/gocd-agent/default.nix index acc3fb12484..c63998c6736 100644 --- a/nixos/modules/services/continuous-integration/gocd-agent/default.nix +++ b/nixos/modules/services/continuous-integration/gocd-agent/default.nix @@ -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. diff --git a/nixos/modules/services/continuous-integration/gocd-server/default.nix b/nixos/modules/services/continuous-integration/gocd-server/default.nix index 646bf13ac67..3540656f934 100644 --- a/nixos/modules/services/continuous-integration/gocd-server/default.nix +++ b/nixos/modules/services/continuous-integration/gocd-server/default.nix @@ -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 diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix index f37e5ad1693..b258d698664 100644 --- a/nixos/modules/services/databases/neo4j.nix +++ b/nixos/modules/services/databases/neo4j.nix @@ -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 LOAD CSV 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 diff --git a/nixos/modules/services/hardware/tcsd.nix b/nixos/modules/services/hardware/tcsd.nix index c549a677501..e414b9647c9 100644 --- a/nixos/modules/services/hardware/tcsd.nix +++ b/nixos/modules/services/hardware/tcsd.nix @@ -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. diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix index fc6dfaa4285..88920d6a28e 100644 --- a/nixos/modules/services/misc/etcd.nix +++ b/nixos/modules/services/misc/etcd.nix @@ -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; }; diff --git a/nixos/modules/services/misc/exhibitor.nix b/nixos/modules/services/misc/exhibitor.nix index 28c98edf47a..4c935efbd84 100644 --- a/nixos/modules/services/misc/exhibitor.nix +++ b/nixos/modules/services/misc/exhibitor.nix @@ -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 ''; diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix index c0f7661c569..938bb28da90 100644 --- a/nixos/modules/services/misc/gitea.nix +++ b/nixos/modules/services/misc/gitea.nix @@ -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."; }; diff --git a/nixos/modules/services/misc/gogs.nix b/nixos/modules/services/misc/gogs.nix index d7233f10c7c..c7ae4f49407 100644 --- a/nixos/modules/services/misc/gogs.nix +++ b/nixos/modules/services/misc/gogs.nix @@ -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."; }; diff --git a/nixos/modules/services/misc/headphones.nix b/nixos/modules/services/misc/headphones.nix index 3ee0a4458bd..31bd61cb4c2 100644 --- a/nixos/modules/services/misc/headphones.nix +++ b/nixos/modules/services/misc/headphones.nix @@ -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 { diff --git a/nixos/modules/services/misc/matrix-appservice-discord.nix b/nixos/modules/services/misc/matrix-appservice-discord.nix index c448614eca3..84c4a5443fa 100644 --- a/nixos/modules/services/misc/matrix-appservice-discord.nix +++ b/nixos/modules/services/misc/matrix-appservice-discord.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/mwlib.nix b/nixos/modules/services/misc/mwlib.nix index ec8ecee8423..fedc1e5542a 100644 --- a/nixos/modules/services/misc/mwlib.nix +++ b/nixos/modules/services/misc/mwlib.nix @@ -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. diff --git a/nixos/modules/services/misc/sickbeard.nix b/nixos/modules/services/misc/sickbeard.nix index 8e871309c98..a3db9928634 100644 --- a/nixos/modules/services/misc/sickbeard.nix +++ b/nixos/modules/services/misc/sickbeard.nix @@ -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 { diff --git a/nixos/modules/services/misc/sourcehut/builds.nix b/nixos/modules/services/misc/sourcehut/builds.nix index f806e8c51b9..2872606e78f 100644 --- a/nixos/modules/services/misc/sourcehut/builds.nix +++ b/nixos/modules/services/misc/sourcehut/builds.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/dispatch.nix b/nixos/modules/services/misc/sourcehut/dispatch.nix index a9db17bebe8..292a51d3e1c 100644 --- a/nixos/modules/services/misc/sourcehut/dispatch.nix +++ b/nixos/modules/services/misc/sourcehut/dispatch.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/git.nix b/nixos/modules/services/misc/sourcehut/git.nix index 2653d77876d..5ce16df8cd8 100644 --- a/nixos/modules/services/misc/sourcehut/git.nix +++ b/nixos/modules/services/misc/sourcehut/git.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/hg.nix b/nixos/modules/services/misc/sourcehut/hg.nix index 5cd36bb0455..6ba1df8b6dd 100644 --- a/nixos/modules/services/misc/sourcehut/hg.nix +++ b/nixos/modules/services/misc/sourcehut/hg.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/hub.nix b/nixos/modules/services/misc/sourcehut/hub.nix index be3ea21011c..7d137a76505 100644 --- a/nixos/modules/services/misc/sourcehut/hub.nix +++ b/nixos/modules/services/misc/sourcehut/hub.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/lists.nix b/nixos/modules/services/misc/sourcehut/lists.nix index 7b1fe9fd463..76f155caa05 100644 --- a/nixos/modules/services/misc/sourcehut/lists.nix +++ b/nixos/modules/services/misc/sourcehut/lists.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/man.nix b/nixos/modules/services/misc/sourcehut/man.nix index 7693396d187..8ca271c32ee 100644 --- a/nixos/modules/services/misc/sourcehut/man.nix +++ b/nixos/modules/services/misc/sourcehut/man.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/meta.nix b/nixos/modules/services/misc/sourcehut/meta.nix index 56127a824eb..33e4f2332b5 100644 --- a/nixos/modules/services/misc/sourcehut/meta.nix +++ b/nixos/modules/services/misc/sourcehut/meta.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/paste.nix b/nixos/modules/services/misc/sourcehut/paste.nix index b2d5151969e..b481ebaf891 100644 --- a/nixos/modules/services/misc/sourcehut/paste.nix +++ b/nixos/modules/services/misc/sourcehut/paste.nix @@ -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. ''; diff --git a/nixos/modules/services/misc/sourcehut/todo.nix b/nixos/modules/services/misc/sourcehut/todo.nix index aec773b0669..262fa48f59d 100644 --- a/nixos/modules/services/misc/sourcehut/todo.nix +++ b/nixos/modules/services/misc/sourcehut/todo.nix @@ -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. ''; diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix index 5067047e969..81fca33f5fe 100644 --- a/nixos/modules/services/monitoring/grafana.nix +++ b/nixos/modules/services/monitoring/grafana.nix @@ -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; }; diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 4690a252c92..feb952324d4 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -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; }; diff --git a/nixos/modules/services/security/privacyidea.nix b/nixos/modules/services/security/privacyidea.nix index 05f4995cc41..dacbffec04e 100644 --- a/nixos/modules/services/security/privacyidea.nix +++ b/nixos/modules/services/security/privacyidea.nix @@ -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. ''; diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix index 3e5f80960dc..821c829f6b4 100644 --- a/nixos/modules/services/torrent/peerflix.nix +++ b/nixos/modules/services/torrent/peerflix.nix @@ -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; }; }; diff --git a/nixos/modules/services/torrent/rtorrent.nix b/nixos/modules/services/torrent/rtorrent.nix index dd7df623c73..759dcfe2e6c 100644 --- a/nixos/modules/services/torrent/rtorrent.nix +++ b/nixos/modules/services/torrent/rtorrent.nix @@ -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. ''; diff --git a/nixos/modules/services/video/unifi-video.nix b/nixos/modules/services/video/unifi-video.nix index 17971b23db8..43208a9fe4c 100644 --- a/nixos/modules/services/video/unifi-video.nix +++ b/nixos/modules/services/video/unifi-video.nix @@ -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."; }; -- cgit 1.4.1