Updated module

This commit is contained in:
rasmus-kirk
2024-02-20 16:56:29 +01:00
parent 93ebb09d94
commit 765f2e290e
11 changed files with 45 additions and 39 deletions
+1 -1
View File
@@ -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
View File
@@ -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;
+5 -4
View File
@@ -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;
+5 -4
View File
@@ -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;
+5 -5
View File
@@ -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;
+5 -5
View File
@@ -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;
+5 -4
View File
@@ -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 -5
View File
@@ -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;
+4 -4
View File
@@ -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;
+2 -2
View File
@@ -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 {
+2 -2
View File
@@ -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")
// { // {