Updated module
This commit is contained in:
+1
-1
@@ -12,7 +12,7 @@
|
|||||||
{
|
{
|
||||||
config._module.check = false;
|
config._module.check = false;
|
||||||
}
|
}
|
||||||
inputs.home-manager.nixosModules.default
|
#inputs.home-manager.nixosModules.default
|
||||||
./servarr
|
./servarr
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
+6
-3
@@ -4,7 +4,7 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.servarr;
|
cfg = config.servarr;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./jellyfin
|
./jellyfin
|
||||||
@@ -14,10 +14,9 @@ in {
|
|||||||
./sonarr
|
./sonarr
|
||||||
./prowlarr
|
./prowlarr
|
||||||
./transmission
|
./transmission
|
||||||
../util
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.kirk.servarr = {
|
options.servarr = {
|
||||||
enable = mkEnableOption ''
|
enable = mkEnableOption ''
|
||||||
My servarr setup. Lets you host the servarr services optionally
|
My servarr setup. Lets you host the servarr services optionally
|
||||||
through a VPN. It is possible, BUT NOT RECOMENDED, to have
|
through a VPN. It is possible, BUT NOT RECOMENDED, to have
|
||||||
@@ -113,6 +112,10 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
imports = [
|
||||||
|
../util
|
||||||
|
];
|
||||||
|
|
||||||
users.groups = {
|
users.groups = {
|
||||||
media = {
|
media = {
|
||||||
members = cfg.mediaUsers;
|
members = cfg.mediaUsers;
|
||||||
|
|||||||
@@ -4,11 +4,12 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.servarr.jellyfin;
|
cfg = config.servarr.jellyfin;
|
||||||
defaultPort = 8096;
|
defaultPort = 8096;
|
||||||
servarr = config.kirk.servarr;
|
servarr = config.servarr;
|
||||||
|
dnsServers = config.lib.vpn.dnsServers;
|
||||||
in {
|
in {
|
||||||
options.kirk.servarr.jellyfin = {
|
options.servarr.jellyfin = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -96,7 +97,7 @@ in {
|
|||||||
defaults.email = cfg.nginx.acmeMail;
|
defaults.email = cfg.nginx.acmeMail;
|
||||||
};
|
};
|
||||||
|
|
||||||
kirk.vpnnamespace.portMappings = [
|
util.vpnnamespace.portMappings = [
|
||||||
(
|
(
|
||||||
mkIf cfg.useVpn {
|
mkIf cfg.useVpn {
|
||||||
From = defaultPort;
|
From = defaultPort;
|
||||||
|
|||||||
@@ -4,10 +4,11 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.servarr.lidarr;
|
cfg = config.servarr.lidarr;
|
||||||
servarr = config.kirk.servarr;
|
dnsServers = config.lib.vpn.dnsServers;
|
||||||
|
servarr = config.servarr;
|
||||||
in {
|
in {
|
||||||
options.kirk.servarr.lidarr = {
|
options.servarr.lidarr = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -35,7 +36,7 @@ in {
|
|||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
kirk.vpnnamespace.portMappings = [
|
util.vpnnamespace.portMappings = [
|
||||||
(
|
(
|
||||||
mkIf cfg.useVpn {
|
mkIf cfg.useVpn {
|
||||||
From = defaultPort;
|
From = defaultPort;
|
||||||
|
|||||||
@@ -7,11 +7,11 @@
|
|||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
defaultPort = 9696;
|
defaultPort = 9696;
|
||||||
dnsServers = config.kirk.vpnnamespace.dnsServer;
|
dnsServers = config.lib.vpn.dnsServers;
|
||||||
servarr = config.kirk.servarr;
|
servarr = config.servarr;
|
||||||
cfg = config.kirk.servarr.prowlarr;
|
cfg = config.servarr.prowlarr;
|
||||||
in {
|
in {
|
||||||
options.kirk.servarr.prowlarr = {
|
options.servarr.prowlarr = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -39,7 +39,7 @@ in {
|
|||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
kirk.vpnnamespace.portMappings = [
|
util.vpnnamespace.portMappings = [
|
||||||
(
|
(
|
||||||
mkIf cfg.useVpn {
|
mkIf cfg.useVpn {
|
||||||
From = defaultPort;
|
From = defaultPort;
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.servarr.radarr;
|
cfg = config.servarr.radarr;
|
||||||
defaultPort = 7878;
|
defaultPort = 7878;
|
||||||
servarr = config.kirk.servarr;
|
servarr = config.servarr;
|
||||||
dnsServers = config.kirk.vpnnamespace.dnsServers;
|
dnsServers = config.lib.vpn.dnsServers;
|
||||||
in {
|
in {
|
||||||
options.kirk.servarr.radarr = {
|
options.servarr.radarr = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -39,7 +39,7 @@ in {
|
|||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
kirk.vpnnamespace.portMappings = [
|
util.vpnnamespace.portMappings = [
|
||||||
(
|
(
|
||||||
mkIf cfg.useVpn {
|
mkIf cfg.useVpn {
|
||||||
From = defaultPort;
|
From = defaultPort;
|
||||||
|
|||||||
@@ -4,10 +4,11 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.servarr.readarr;
|
cfg = config.servarr.readarr;
|
||||||
servarr = config.kirk.servarr;
|
servarr = config.servarr;
|
||||||
|
dnsServers = config.lib.vpn.dnsServers;
|
||||||
in {
|
in {
|
||||||
options.kirk.servarr.readarr = {
|
options.servarr.readarr = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -35,7 +36,7 @@ in {
|
|||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
kirk.vpnnamespace.portMappings = [
|
util.vpnnamespace.portMappings = [
|
||||||
(
|
(
|
||||||
mkIf cfg.useVpn {
|
mkIf cfg.useVpn {
|
||||||
From = defaultPort;
|
From = defaultPort;
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.servarr.sonarr;
|
cfg = config.servarr.sonarr;
|
||||||
defaultPort = 8989;
|
defaultPort = 8989;
|
||||||
servarr = config.kirk.servarr;
|
servarr = config.servarr;
|
||||||
dnsServers = config.kirk.vpnnamespace.dnsServers;
|
dnsServers = config.lib.vpn.dnsServers;
|
||||||
in {
|
in {
|
||||||
options.kirk.servarr.sonarr = {
|
options.servarr.sonarr = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -38,7 +38,7 @@ in {
|
|||||||
dataDir = cfg.stateDir;
|
dataDir = cfg.stateDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
kirk.vpnnamespace.portMappings = [
|
util.vpnnamespace.portMappings = [
|
||||||
(mkIf cfg.useVpn {
|
(mkIf cfg.useVpn {
|
||||||
From = defaultPort;
|
From = defaultPort;
|
||||||
To = defaultPort;
|
To = defaultPort;
|
||||||
|
|||||||
@@ -6,11 +6,11 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.servarr.transmission;
|
cfg = config.servarr.transmission;
|
||||||
servarr = config.kirk.servarr;
|
servarr = config.servarr;
|
||||||
dnsServers = config.lib.vpn.dnsServers;
|
dnsServers = config.lib.vpn.dnsServers;
|
||||||
in {
|
in {
|
||||||
options.kirk.servarr.transmission = {
|
options.servarr.transmission = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@@ -100,7 +100,7 @@ in {
|
|||||||
// cfg.extraConfig;
|
// cfg.extraConfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
kirk.vpnnamespace = mkIf cfg.useVpn {
|
util.vpnnamespace = mkIf cfg.useVpn {
|
||||||
portMappings = [
|
portMappings = [
|
||||||
{
|
{
|
||||||
From = cfg.uiPort;
|
From = cfg.uiPort;
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.upnp;
|
cfg = config.util.upnp;
|
||||||
in {
|
in {
|
||||||
options.kirk.upnp = {
|
options.util.upnp = {
|
||||||
enable = mkEnableOption "Enable port forwarding using UPNP.";
|
enable = mkEnableOption "Enable port forwarding using UPNP.";
|
||||||
|
|
||||||
openTcpPorts = mkOption {
|
openTcpPorts = mkOption {
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
# the namespace should use a vpn or not.
|
# the namespace should use a vpn or not.
|
||||||
with builtins;
|
with builtins;
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.kirk.vpnnamespace;
|
cfg = config.util.vpnnamespace;
|
||||||
in {
|
in {
|
||||||
options.kirk.vpnnamespace = {
|
options.util.vpnnamespace = {
|
||||||
enable =
|
enable =
|
||||||
mkEnableOption (lib.mdDoc "VPN Namespace")
|
mkEnableOption (lib.mdDoc "VPN Namespace")
|
||||||
// {
|
// {
|
||||||
|
|||||||
Reference in New Issue
Block a user