feat: installed lidarr

This commit is contained in:
Leyla Becker 2025-10-18 13:30:08 -05:00
parent 62bb650878
commit 5ccfe1a337
6 changed files with 82 additions and 1 deletions

View file

@ -362,6 +362,10 @@
enable = true;
openFirewall = true;
};
lidarr = {
enable = true;
openFirewall = true;
};
jackett = {
enable = true;
openFirewall = true;

View file

@ -12,14 +12,15 @@
./forgejo
./home-assistant
./immich
./jackett
./jellyfin
./lidarr
./panoramax
./paperless
./qbittorent.nix
./radarr
./searx
./sonarr
./jackett
./wyoming.nix
];
}

View file

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

View file

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

View file

@ -0,0 +1,28 @@
{
lib,
config,
...
}: {
options.services.lidarr = {
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.lidarr.enable && config.services.lidarr.subdomain != null) {
host.reverse_proxy.subdomains.lidarr = {
subdomain = config.services.lidarr.subdomain;
extraSubdomains = config.services.lidarr.extraSubdomains;
target = "http://127.0.0.1:8686";
websockets.enable = true;
forwardHeaders.enable = true;
};
};
}

View file

@ -29,6 +29,7 @@
radarr = 2014;
sonarr = 2015;
bazarr = 2016;
lidarr = 2017;
};
gids = {
@ -50,6 +51,7 @@
radarr = 2014;
sonarr = 2015;
bazarr = 2016;
lidarr = 2017;
};
users = config.users.users;
@ -221,6 +223,12 @@ in {
isSystemUser = true;
group = config.users.users.bazarr.name;
};
lidarr = {
uid = lib.mkForce uids.lidarr;
isSystemUser = true;
group = config.users.users.lidarr.name;
};
};
groups = {
@ -261,6 +269,7 @@ in {
users.radarr.name
users.sonarr.name
users.bazarr.name
users.lidarr.name
leyla
eve
ivy
@ -365,6 +374,13 @@ in {
users.bazarr.name
];
};
lidarr = {
gid = lib.mkForce gids.lidarr;
members = [
users.lidarr.name
];
};
};
};
}