diff options
Diffstat (limited to 'custom/uucp-mediaclient.nix')
-rw-r--r-- | custom/uucp-mediaclient.nix | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/custom/uucp-mediaclient.nix b/custom/uucp-mediaclient.nix index 42fa0246..1b79d4a5 100644 --- a/custom/uucp-mediaclient.nix +++ b/custom/uucp-mediaclient.nix | |||
@@ -76,6 +76,11 @@ in { | |||
76 | default = "/var/media"; | 76 | default = "/var/media"; |
77 | description = "Media directory"; | 77 | description = "Media directory"; |
78 | }; | 78 | }; |
79 | |||
80 | mediaGroup = mkOption { | ||
81 | type = types.str; | ||
82 | default = "media"; | ||
83 | }; | ||
79 | }; | 84 | }; |
80 | }; | 85 | }; |
81 | 86 | ||
@@ -86,6 +91,16 @@ in { | |||
86 | services.uucp.remoteNodes = genAttrs cfg.remoteNodes (name: { commands = ["recv-media"]; } ); | 91 | services.uucp.remoteNodes = genAttrs cfg.remoteNodes (name: { commands = ["recv-media"]; } ); |
87 | 92 | ||
88 | assertions = map (user: { assertion = elem user config.services.notify-users; message = "Notification must be allowed for ${user}!"; }) (unique cfg.notify.users); | 93 | assertions = map (user: { assertion = elem user config.services.notify-users; message = "Notification must be allowed for ${user}!"; }) (unique cfg.notify.users); |
94 | |||
95 | users.groups."${cfg.mediaGroup}" = { | ||
96 | members = [ "uucp" ]; | ||
97 | }; | ||
98 | |||
99 | system.activationScripts = '' | ||
100 | mkdir -m 0755 -pv ${cfg.mediaDir} | ||
101 | chown :${cfg.mediaGroup} ${cfg.mediaDir} | ||
102 | chmod -c "g+rwx" ${cfg.mediaDir} | ||
103 | ''; | ||
89 | }; | 104 | }; |
90 | } | 105 | } |
91 | 106 | ||