aboutsummaryrefslogtreecommitdiff
path: root/modules/services/options.nix
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-02-06 14:05:14 -0600
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-02-06 14:06:18 -0600
commit8517a172421576f93bf43c896f050910a9f7a365 (patch)
tree83d4675e4354554fe03db4584d51706a92ab6d31 /modules/services/options.nix
parentf2eabd23ef1817adc872cc23685e4c5c49876ba7 (diff)
test complicated copyparty config
Diffstat (limited to 'modules/services/options.nix')
-rw-r--r--modules/services/options.nix29
1 files changed, 25 insertions, 4 deletions
diff --git a/modules/services/options.nix b/modules/services/options.nix
index 19812fc..024e2a0 100644
--- a/modules/services/options.nix
+++ b/modules/services/options.nix
@@ -77,10 +77,31 @@ in {
};
};
- copyparty = selfhostOptions {
- service_name = "copyparty";
- default_port = 8099;
- };
+ copyparty =
+ (selfhostOptions {
+ service_name = "copyparty";
+ default_port = 8099;
+ })
+ // {
+ users = mkOption {
+ type = lib.types.attrsOf (lib.types.submodule ({config, ...}: {
+ options = {
+ name = mkOption {
+ type = lib.types.str;
+ default = config._module.args.name;
+ internal = true;
+ };
+ isAdmin = mkEnableOption "whether this user is an admin";
+ passwordFile = mkOption {
+ description = "Absolute path to a file containing the password for this user";
+ type = lib.types.str;
+ example = "/run/secrets.d/copyparty-passwd";
+ };
+ hasPublicDir = mkEnableOption "give this user a world-readable directory at /public/<username>";
+ };
+ }));
+ };
+ };
ngircd = {
enable = mkEnableOption "IRC Server";