Skip to content

Commit 9b194b6

Browse files
committed
Generalized the JF and transmission users and groups
1 parent ff170ea commit 9b194b6

File tree

3 files changed

+39
-32
lines changed

3 files changed

+39
-32
lines changed

nixarr/default.nix

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,14 @@ in {
118118
media.gid = 992;
119119
prowlarr = {};
120120
transmission = {};
121-
jellyfin = {};
121+
streamer = {};
122+
torrenter = {};
122123
};
123124
# TODO: This is BAD. But seems necessary when using containers.
124125
# The prefered solution is to just remove containerization.
125126
# Look at https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/misc/ids.nix
126127
users.users = {
127-
jellyfin = {
128+
streamer = {
128129
isSystemUser = true;
129130
uid = lib.mkForce 316;
130131
};
@@ -148,9 +149,8 @@ in {
148149
group = "media";
149150
uid = lib.mkForce 309;
150151
};
151-
transmission = {
152+
torrenter = {
152153
isSystemUser = true;
153-
group = "media";
154154
uid = lib.mkForce 70;
155155
};
156156
prowlarr = {
@@ -163,19 +163,19 @@ in {
163163
systemd.tmpfiles.rules = [
164164
# Media dirs
165165
"d '${cfg.mediaDir}' 0775 root media - -"
166-
"d '${cfg.mediaDir}/library' 0775 jellyfin media - -"
167-
"d '${cfg.mediaDir}/library/series' 0775 jellyfin media - -"
168-
"d '${cfg.mediaDir}/library/movies' 0775 jellyfin media - -"
169-
"d '${cfg.mediaDir}/library/music' 0775 jellyfin media - -"
170-
"d '${cfg.mediaDir}/library/books' 0775 jellyfin media - -"
171-
"d '${cfg.mediaDir}/torrents' 0755 transmission media - -"
172-
"d '${cfg.mediaDir}/torrents/.incomplete' 0755 transmission media - -"
173-
"d '${cfg.mediaDir}/torrents/.watch' 0755 transmission media - -"
174-
"d '${cfg.mediaDir}/torrents/manual' 0755 transmission media - -"
175-
"d '${cfg.mediaDir}/torrents/liadarr' 0755 transmission media - -"
176-
"d '${cfg.mediaDir}/torrents/radarr' 0755 transmission media - -"
177-
"d '${cfg.mediaDir}/torrents/sonarr' 0755 transmission media - -"
178-
"d '${cfg.mediaDir}/torrents/readarr' 0755 transmission media - -"
166+
"d '${cfg.mediaDir}/library' 0775 streamer media - -"
167+
"d '${cfg.mediaDir}/library/shows' 0775 streamer media - -"
168+
"d '${cfg.mediaDir}/library/movies' 0775 streamer media - -"
169+
"d '${cfg.mediaDir}/library/music' 0775 streamer media - -"
170+
"d '${cfg.mediaDir}/library/books' 0775 streamer media - -"
171+
"d '${cfg.mediaDir}/torrents' 0755 torrenter media - -"
172+
"d '${cfg.mediaDir}/torrents/.incomplete' 0755 torrenter media - -"
173+
"d '${cfg.mediaDir}/torrents/.watch' 0755 torrenter media - -"
174+
"d '${cfg.mediaDir}/torrents/manual' 0755 torrenter media - -"
175+
"d '${cfg.mediaDir}/torrents/liadarr' 0755 torrenter media - -"
176+
"d '${cfg.mediaDir}/torrents/radarr' 0755 torrenter media - -"
177+
"d '${cfg.mediaDir}/torrents/sonarr' 0755 torrenter media - -"
178+
"d '${cfg.mediaDir}/torrents/readarr' 0755 torrenter media - -"
179179
];
180180

181181
util-nixarr.vpnnamespace = {

nixarr/jellyfin/default.nix

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,13 @@ in {
9595
mkIf cfg.enable
9696
{
9797
systemd.tmpfiles.rules = [
98-
"d '${cfg.stateDir}' 0700 jellyfin root - -"
98+
"d '${cfg.stateDir}' 0700 streamer root - -"
9999
];
100100

101101
services.jellyfin = {
102102
enable = cfg.enable;
103+
user = "streamer";
104+
group = "streamer";
103105
logDir = "${cfg.stateDir}/log";
104106
cacheDir = "${cfg.stateDir}/cache";
105107
dataDir = "${cfg.stateDir}/data";
@@ -186,11 +188,13 @@ in {
186188
};
187189

188190
config = {
189-
users.groups.jellyfin = {};
190-
users.users.jellyfin = {
191-
uid = lib.mkForce config.users.users.jellyfin.uid;
191+
users.groups.streamer = {
192+
gid = config.users.groups.streamer.gid;
193+
};
194+
users.users.streamer = {
195+
uid = lib.mkForce config.users.users.streamer.uid;
192196
isSystemUser = true;
193-
group = "jellyfin";
197+
group = "streamer";
194198
};
195199

196200
# Use systemd-resolved inside the container
@@ -201,6 +205,8 @@ in {
201205

202206
services.jellyfin = {
203207
enable = true;
208+
user = "streamer";
209+
group = "streamer";
204210
logDir = "${cfg.stateDir}/log";
205211
cacheDir = "${cfg.stateDir}/cache";
206212
dataDir = "${cfg.stateDir}/data";

nixarr/transmission/default.nix

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,15 @@ in {
9090

9191
config = mkIf cfg.enable {
9292
systemd.tmpfiles.rules = [
93-
"d '${cfg.stateDir}' 0700 transmission root - -"
93+
"d '${cfg.stateDir}' 0700 torrenter root - -"
9494
# This is fixes a bug in nixpks TODO: create nixpkgs issue
95-
"d '${cfg.stateDir}/.config/transmission-daemon' 0700 transmission root - -"
95+
"d '${cfg.stateDir}/.config/transmission-daemon' 0700 torrenter root - -"
9696
];
9797

9898
services.transmission = mkIf (!cfg.vpn.enable) {
9999
enable = true;
100-
group = "media";
100+
user = "torrenter";
101+
group = "torrenter";
101102
home = cfg.stateDir;
102103
webHome =
103104
if cfg.flood.enable
@@ -183,13 +184,13 @@ in {
183184
};
184185

185186
config = {
186-
users.groups.media = {
187-
gid = config.users.groups.media.gid;
187+
users.groups.torrenter = {
188+
gid = config.users.groups.torrenter.gid;
188189
};
189-
users.users.transmission = {
190-
uid = lib.mkForce config.users.users.transmission.uid;
190+
users.users.torrenter = {
191+
uid = lib.mkForce config.users.users.torrenter.uid;
191192
isSystemUser = true;
192-
group = "media";
193+
group = "torrenter";
193194
};
194195

195196
# Use systemd-resolved inside the container
@@ -205,8 +206,8 @@ in {
205206

206207
services.transmission = {
207208
enable = true;
208-
# This is maybe wrong, too afraid to fix it lol
209-
group = "media";
209+
user = "torrenter";
210+
group = "torrenter";
210211
webHome =
211212
if cfg.flood.enable
212213
then pkgs.flood-for-transmission

0 commit comments

Comments
 (0)