Merge branch 'dev'
This commit is contained in:
@@ -108,7 +108,7 @@ This example does the following:
|
|||||||
# These two values are also the default, but you can set them to whatever
|
# These two values are also the default, but you can set them to whatever
|
||||||
# else you want
|
# else you want
|
||||||
mediaDir = "/data/media";
|
mediaDir = "/data/media";
|
||||||
stateDir = "/data/media/.state";
|
stateDir = "/data/media/.state/nixarr";
|
||||||
|
|
||||||
vpn = {
|
vpn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -22,6 +22,14 @@ in {
|
|||||||
description = "The state directory for bazarr";
|
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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -49,6 +57,7 @@ in {
|
|||||||
enable = cfg.enable;
|
enable = cfg.enable;
|
||||||
user = "bazarr";
|
user = "bazarr";
|
||||||
group = "media";
|
group = "media";
|
||||||
|
openFirewall = cfg.openFirewall;
|
||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -14,11 +14,19 @@ in with lib; {
|
|||||||
stateDir = mkOption {
|
stateDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "${nixarr.stateDir}/jellyfin";
|
default = "${nixarr.stateDir}/jellyfin";
|
||||||
defaultText = literalExpression ''"''${nixarr.stateDir}/jellyfin"'';
|
defaultText = literalExpression ''!cfg.vpn.enable'';
|
||||||
example = "/home/user/.local/share/nixarr/jellyfin";
|
example = "/home/user/.local/share/nixarr/jellyfin";
|
||||||
description = "The state directory for 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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -161,13 +169,18 @@ in with lib; {
|
|||||||
];
|
];
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
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 = {
|
services.jellyfin = {
|
||||||
enable = cfg.enable;
|
enable = cfg.enable;
|
||||||
user = "streamer";
|
user = "streamer";
|
||||||
group = "streamer";
|
group = "streamer";
|
||||||
|
openFirewall = cfg.openFirewall;
|
||||||
logDir = "${cfg.stateDir}/log";
|
logDir = "${cfg.stateDir}/log";
|
||||||
cacheDir = "${cfg.stateDir}/cache";
|
cacheDir = "${cfg.stateDir}/cache";
|
||||||
dataDir = "${cfg.stateDir}/data";
|
dataDir = "${cfg.stateDir}/data";
|
||||||
|
|||||||
@@ -14,11 +14,19 @@ in {
|
|||||||
stateDir = mkOption {
|
stateDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "${nixarr.stateDir}/lidarr";
|
default = "${nixarr.stateDir}/lidarr";
|
||||||
defaultText = literalExpression ''"''${nixarr.stateDir}/lidarr"'';
|
defaultText = literalExpression ''!cfg.vpn.enable'';
|
||||||
example = "/home/user/.local/share/nixarr/lidarr";
|
example = "/home/user/.local/share/nixarr/lidarr";
|
||||||
description = "The state directory for 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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -50,6 +58,7 @@ in {
|
|||||||
enable = cfg.enable;
|
enable = cfg.enable;
|
||||||
user = "lidarr";
|
user = "lidarr";
|
||||||
group = "media";
|
group = "media";
|
||||||
|
openFirewall = cfg.openFirewall;
|
||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,19 @@ in {
|
|||||||
stateDir = mkOption {
|
stateDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "${nixarr.stateDir}/prowlarr";
|
default = "${nixarr.stateDir}/prowlarr";
|
||||||
defaultText = literalExpression ''"''${nixarr.stateDir}/prowlarr"'';
|
defaultText = literalExpression ''!cfg.vpn.enable'';
|
||||||
example = "/home/user/.local/share/nixarr/prowlarr";
|
example = "/home/user/.local/share/nixarr/prowlarr";
|
||||||
description = "The state directory for 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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -53,6 +61,7 @@ in {
|
|||||||
|
|
||||||
util-nixarr.services.prowlarr = {
|
util-nixarr.services.prowlarr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
openFirewall = cfg.openFirewall;
|
||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -15,11 +15,19 @@ in {
|
|||||||
stateDir = mkOption {
|
stateDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "${nixarr.stateDir}/radarr";
|
default = "${nixarr.stateDir}/radarr";
|
||||||
defaultText = literalExpression ''"''${nixarr.stateDir}/radarr"'';
|
defaultText = literalExpression ''!cfg.vpn.enable'';
|
||||||
example = "/home/user/.local/share/nixarr/radarr";
|
example = "/home/user/.local/share/nixarr/radarr";
|
||||||
description = "The state directory for 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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -51,6 +59,7 @@ in {
|
|||||||
enable = cfg.enable;
|
enable = cfg.enable;
|
||||||
user = "radarr";
|
user = "radarr";
|
||||||
group = "media";
|
group = "media";
|
||||||
|
openFirewall = cfg.openFirewall;
|
||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,11 +13,19 @@ in {
|
|||||||
stateDir = mkOption {
|
stateDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "${nixarr.stateDir}/readarr";
|
default = "${nixarr.stateDir}/readarr";
|
||||||
defaultText = literalExpression ''"''${nixarr.stateDir}/readarr"'';
|
defaultText = literalExpression ''!cfg.vpn.enable'';
|
||||||
example = "/home/user/.local/share/nixarr/readarr";
|
example = "/home/user/.local/share/nixarr/readarr";
|
||||||
description = "The state directory for 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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -49,6 +57,7 @@ in {
|
|||||||
enable = cfg.enable;
|
enable = cfg.enable;
|
||||||
user = "readarr";
|
user = "readarr";
|
||||||
group = "media";
|
group = "media";
|
||||||
|
openFirewall = cfg.openFirewall;
|
||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,19 @@ in {
|
|||||||
stateDir = mkOption {
|
stateDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "${nixarr.stateDir}/sonarr";
|
default = "${nixarr.stateDir}/sonarr";
|
||||||
defaultText = literalExpression ''"''${nixarr.stateDir}/sonarr"'';
|
defaultText = literalExpression ''!cfg.vpn.enable'';
|
||||||
example = "/home/user/.local/share/nixarr/sonarr";
|
example = "/home/user/.local/share/nixarr/sonarr";
|
||||||
description = "The state directory for 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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -55,6 +63,7 @@ in {
|
|||||||
enable = cfg.enable;
|
enable = cfg.enable;
|
||||||
user = "sonarr";
|
user = "sonarr";
|
||||||
group = "media";
|
group = "media";
|
||||||
|
openFirewall = cfg.openFirewall;
|
||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -67,13 +67,21 @@ in {
|
|||||||
stateDir = mkOption {
|
stateDir = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "${nixarr.stateDir}/transmission";
|
default = "${nixarr.stateDir}/transmission";
|
||||||
defaultText = literalExpression ''"''${nixarr.stateDir}/transmission"'';
|
defaultText = literalExpression ''!cfg.vpn.enable'';
|
||||||
example = "/home/user/.local/share/nixarr/transmission";
|
example = "/home/user/.local/share/nixarr/transmission";
|
||||||
description = ''
|
description = ''
|
||||||
The state directory for Transmission.
|
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 {
|
vpn.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -270,8 +278,8 @@ in {
|
|||||||
then pkgs.flood-for-transmission
|
then pkgs.flood-for-transmission
|
||||||
else null;
|
else null;
|
||||||
package = pkgs.transmission_4;
|
package = pkgs.transmission_4;
|
||||||
openRPCPort = false;
|
openRPCPort = cfg.openFirewall;
|
||||||
openPeerPorts = !cfg.vpn.enable;
|
openPeerPorts = cfg.openFirewall;
|
||||||
settings =
|
settings =
|
||||||
{
|
{
|
||||||
download-dir = downloadDir;
|
download-dir = downloadDir;
|
||||||
|
|||||||
Reference in New Issue
Block a user