Merge branch 'dev'

This commit is contained in:
rasmus-kirk
2024-03-12 19:18:01 +01:00
9 changed files with 86 additions and 11 deletions
+1 -1
View File
@@ -108,7 +108,7 @@ This example does the following:
# These two values are also the default, but you can set them to whatever
# else you want
mediaDir = "/data/media";
stateDir = "/data/media/.state";
stateDir = "/data/media/.state/nixarr";
vpn = {
enable = true;
+9
View File
@@ -22,6 +22,14 @@ in {
description = "The state directory for bazarr";
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for Bazarr";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -49,6 +57,7 @@ in {
enable = cfg.enable;
user = "bazarr";
group = "media";
openFirewall = cfg.openFirewall;
dataDir = cfg.stateDir;
};
+15 -2
View File
@@ -14,11 +14,19 @@ in with lib; {
stateDir = mkOption {
type = types.path;
default = "${nixarr.stateDir}/jellyfin";
defaultText = literalExpression ''"''${nixarr.stateDir}/jellyfin"'';
defaultText = literalExpression ''!cfg.vpn.enable'';
example = "/home/user/.local/share/nixarr/jellyfin";
description = "The state directory for Jellyfin.";
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for Jellyfin";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -161,13 +169,18 @@ in with lib; {
];
systemd.tmpfiles.rules = [
"d '${cfg.stateDir}' 0700 streamer root - -"
"d '${cfg.stateDir}' 0700 streamer root - -"
"d '${cfg.stateDir}/log' 0700 streamer root - -"
"d '${cfg.stateDir}/cache' 0700 streamer root - -"
"d '${cfg.stateDir}/data' 0700 streamer root - -"
"d '${cfg.stateDir}/config' 0700 streamer root - -"
];
services.jellyfin = {
enable = cfg.enable;
user = "streamer";
group = "streamer";
openFirewall = cfg.openFirewall;
logDir = "${cfg.stateDir}/log";
cacheDir = "${cfg.stateDir}/cache";
dataDir = "${cfg.stateDir}/data";
+10 -1
View File
@@ -14,11 +14,19 @@ in {
stateDir = mkOption {
type = types.path;
default = "${nixarr.stateDir}/lidarr";
defaultText = literalExpression ''"''${nixarr.stateDir}/lidarr"'';
defaultText = literalExpression ''!cfg.vpn.enable'';
example = "/home/user/.local/share/nixarr/lidarr";
description = "The state directory for Lidarr";
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for Lidarr";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -50,6 +58,7 @@ in {
enable = cfg.enable;
user = "lidarr";
group = "media";
openFirewall = cfg.openFirewall;
dataDir = cfg.stateDir;
};
+10 -1
View File
@@ -19,11 +19,19 @@ in {
stateDir = mkOption {
type = types.path;
default = "${nixarr.stateDir}/prowlarr";
defaultText = literalExpression ''"''${nixarr.stateDir}/prowlarr"'';
defaultText = literalExpression ''!cfg.vpn.enable'';
example = "/home/user/.local/share/nixarr/prowlarr";
description = "The state directory for Prowlarr.";
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for Prowlarr";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -53,6 +61,7 @@ in {
util-nixarr.services.prowlarr = {
enable = true;
openFirewall = cfg.openFirewall;
dataDir = cfg.stateDir;
};
+10 -1
View File
@@ -15,11 +15,19 @@ in {
stateDir = mkOption {
type = types.path;
default = "${nixarr.stateDir}/radarr";
defaultText = literalExpression ''"''${nixarr.stateDir}/radarr"'';
defaultText = literalExpression ''!cfg.vpn.enable'';
example = "/home/user/.local/share/nixarr/radarr";
description = "The state directory for radarr.";
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for Radarr";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -51,6 +59,7 @@ in {
enable = cfg.enable;
user = "radarr";
group = "media";
openFirewall = cfg.openFirewall;
dataDir = cfg.stateDir;
};
+10 -1
View File
@@ -13,11 +13,19 @@ in {
stateDir = mkOption {
type = types.path;
default = "${nixarr.stateDir}/readarr";
defaultText = literalExpression ''"''${nixarr.stateDir}/readarr"'';
defaultText = literalExpression ''!cfg.vpn.enable'';
example = "/home/user/.local/share/nixarr/readarr";
description = "The state directory for Readarr";
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for Readarr";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -49,6 +57,7 @@ in {
enable = cfg.enable;
user = "readarr";
group = "media";
openFirewall = cfg.openFirewall;
dataDir = cfg.stateDir;
};
+10 -1
View File
@@ -19,11 +19,19 @@ in {
stateDir = mkOption {
type = types.path;
default = "${nixarr.stateDir}/sonarr";
defaultText = literalExpression ''"''${nixarr.stateDir}/sonarr"'';
defaultText = literalExpression ''!cfg.vpn.enable'';
example = "/home/user/.local/share/nixarr/sonarr";
description = "The state directory for Sonarr.";
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for Sonarr";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -55,6 +63,7 @@ in {
enable = cfg.enable;
user = "sonarr";
group = "media";
openFirewall = cfg.openFirewall;
dataDir = cfg.stateDir;
};
+11 -3
View File
@@ -67,13 +67,21 @@ in {
stateDir = mkOption {
type = types.path;
default = "${nixarr.stateDir}/transmission";
defaultText = literalExpression ''"''${nixarr.stateDir}/transmission"'';
defaultText = literalExpression ''!cfg.vpn.enable'';
example = "/home/user/.local/share/nixarr/transmission";
description = ''
The state directory for Transmission.
'';
};
openFirewall = mkOption {
type = types.bool;
defaultText = literalExpression ''!cfg.vpn.enable'';
default = !cfg.vpn.enable;
example = true;
description = "Open firewall for `peer-port` and `rpc-port`.";
};
vpn.enable = mkOption {
type = types.bool;
default = false;
@@ -270,8 +278,8 @@ in {
then pkgs.flood-for-transmission
else null;
package = pkgs.transmission_4;
openRPCPort = false;
openPeerPorts = !cfg.vpn.enable;
openRPCPort = cfg.openFirewall;
openPeerPorts = cfg.openFirewall;
settings =
{
download-dir = downloadDir;