Compare commits

..

No commits in common. "d2be5c7e2459355fbed24c74918b5793dcbffae0" and "4d52c58f79d13c25fa1ca098f37db04ee9e9e33f" have entirely different histories.

13 changed files with 4 additions and 260 deletions

View file

@ -287,21 +287,6 @@
subdomain = "budget"; subdomain = "budget";
}; };
sonarr = {
enable = true;
openFirewall = true;
};
radarr = {
enable = true;
openFirewall = true;
};
bazarr = {
enable = true;
openFirewall = true;
};
home-assistant = { home-assistant = {
enable = true; enable = true;
subdomain = "home"; subdomain = "home";

View file

@ -1,19 +1,9 @@
{ {pkgs, ...}: {
pkgs,
lib,
...
}: {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"filebot"
];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
ffsubsync ffsubsync
sox sox
yt-dlp yt-dlp
ffmpeg ffmpeg
imagemagick imagemagick
filebot
]; ];
} }

View file

@ -1,6 +0,0 @@
{...}: {
imports = [
./proxy.nix
./impermanence.nix
];
}

View file

@ -1,26 +0,0 @@
{
lib,
config,
...
}: let
bazarr_data_directory = "/var/lib/bazarr";
in {
config = lib.mkIf (config.services.bazarr.enable && config.host.impermanence.enable) {
assertions = [
{
assertion = config.services.bazarr.dataDir == bazarr_data_directory;
message = "bazarr data directory does not match persistence";
}
];
environment.persistence."/persist/system/root" = {
directories = [
{
directory = bazarr_data_directory;
user = "bazarr";
group = "bazarr";
}
];
};
};
}

View file

@ -1,28 +0,0 @@
{
lib,
config,
...
}: {
options.services.bazarr = {
subdomain = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Subdomain for reverse proxy. If null, service will be local only.";
};
extraSubdomains = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = "Extra subdomains for reverse proxy.";
};
};
config = lib.mkIf (config.services.bazarr.enable && config.services.bazarr.subdomain != null) {
host.reverse_proxy.subdomains.bazarr = {
subdomain = config.services.bazarr.subdomain;
extraSubdomains = config.services.bazarr.extraSubdomains;
target = "http://127.0.0.1:6767";
websockets.enable = true;
forwardHeaders.enable = true;
};
};
}

View file

@ -7,17 +7,14 @@
./podman.nix ./podman.nix
./actual ./actual
./bazarr ./immich
./panoramax
./forgejo ./forgejo
./home-assistant ./home-assistant
./immich
./jellyfin ./jellyfin
./panoramax
./paperless ./paperless
./qbittorent.nix
./radarr
./searx ./searx
./sonarr ./qbittorent.nix
./wyoming.nix ./wyoming.nix
]; ];
} }

View file

@ -1,6 +0,0 @@
{...}: {
imports = [
./proxy.nix
./impermanence.nix
];
}

View file

@ -1,26 +0,0 @@
{
lib,
config,
...
}: let
radarr_data_directory = "/var/lib/radarr/.config/Radarr";
in {
config = lib.mkIf (config.services.radarr.enable && config.host.impermanence.enable) {
assertions = [
{
assertion = config.services.radarr.dataDir == radarr_data_directory;
message = "radarr data directory does not match persistence";
}
];
environment.persistence."/persist/system/root" = {
directories = [
{
directory = radarr_data_directory;
user = "radarr";
group = "radarr";
}
];
};
};
}

View file

@ -1,28 +0,0 @@
{
lib,
config,
...
}: {
options.services.radarr = {
subdomain = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Subdomain for reverse proxy. If null, service will be local only.";
};
extraSubdomains = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = "Extra subdomains for reverse proxy.";
};
};
config = lib.mkIf (config.services.radarr.enable && config.services.radarr.subdomain != null) {
host.reverse_proxy.subdomains.radarr = {
subdomain = config.services.radarr.subdomain;
extraSubdomains = config.services.radarr.extraSubdomains;
target = "http://127.0.0.1:7878";
websockets.enable = true;
forwardHeaders.enable = true;
};
};
}

View file

@ -1,6 +0,0 @@
{...}: {
imports = [
./proxy.nix
./impermanence.nix
];
}

View file

@ -1,26 +0,0 @@
{
lib,
config,
...
}: let
sonarr_data_directory = "/var/lib/sonarr/.config/NzbDrone";
in {
config = lib.mkIf (config.services.sonarr.enable && config.host.impermanence.enable) {
assertions = [
{
assertion = config.services.sonarr.dataDir == sonarr_data_directory;
message = "sonarr data directory does not match persistence";
}
];
environment.persistence."/persist/system/root" = {
directories = [
{
directory = sonarr_data_directory;
user = "sonarr";
group = "sonarr";
}
];
};
};
}

View file

@ -1,28 +0,0 @@
{
lib,
config,
...
}: {
options.services.sonarr = {
subdomain = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Subdomain for reverse proxy. If null, service will be local only.";
};
extraSubdomains = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = "Extra subdomains for reverse proxy.";
};
};
config = lib.mkIf (config.services.sonarr.enable && config.services.sonarr.subdomain != null) {
host.reverse_proxy.subdomains.sonarr = {
subdomain = config.services.sonarr.subdomain;
extraSubdomains = config.services.sonarr.extraSubdomains;
target = "http://127.0.0.1:8989";
websockets.enable = true;
forwardHeaders.enable = true;
};
};
}

View file

@ -25,9 +25,6 @@
qbittorrent = 2011; qbittorrent = 2011;
paperless = 2012; paperless = 2012;
actual = 2013; actual = 2013;
radarr = 275;
sonarr = 274;
bazarr = 985;
}; };
gids = { gids = {
@ -45,9 +42,6 @@
qbittorrent = 2011; qbittorrent = 2011;
paperless = 2012; paperless = 2012;
actual = 2013; actual = 2013;
radarr = 275;
sonarr = 274;
bazarr = 981;
}; };
users = config.users.users; users = config.users.users;
@ -183,24 +177,6 @@ in {
isSystemUser = true; isSystemUser = true;
group = config.users.users.actual.name; group = config.users.users.actual.name;
}; };
radarr = {
uid = lib.mkForce uids.radarr;
isSystemUser = true;
group = config.users.users.radarr.name;
};
sonarr = {
uid = lib.mkForce uids.sonarr;
isSystemUser = true;
group = config.users.users.sonarr.name;
};
bazarr = {
uid = lib.mkForce uids.bazarr;
isSystemUser = true;
group = config.users.users.bazarr.name;
};
}; };
groups = { groups = {
@ -230,9 +206,6 @@ in {
gid = lib.mkForce gids.jellyfin_media; gid = lib.mkForce gids.jellyfin_media;
members = [ members = [
users.jellyfin.name users.jellyfin.name
users.radarr.name
users.sonarr.name
users.bazarr.name
leyla leyla
eve eve
]; ];
@ -314,27 +287,6 @@ in {
users.actual.name users.actual.name
]; ];
}; };
radarr = {
gid = lib.mkForce gids.radarr;
members = [
users.radarr.name
];
};
sonarr = {
gid = lib.mkForce gids.sonarr;
members = [
users.sonarr.name
];
};
bazarr = {
gid = lib.mkForce gids.bazarr;
members = [
users.bazarr.name
];
};
}; };
}; };
} }