mirror of
https://github.com/Superredstone/nixos.git
synced 2026-06-17 15:24:39 +02:00
122 lines
2.9 KiB
Nix
122 lines
2.9 KiB
Nix
{ config, ... }:
|
|
let
|
|
user = "Patrick";
|
|
baseDir = "/var/lib/nixflix";
|
|
stateDir = "${baseDir}/state";
|
|
downloadsDir = "${baseDir}/downloads";
|
|
mediaDir = "${baseDir}/media";
|
|
jellyfinPort = 8005;
|
|
qbittorrentPort = 8006;
|
|
radarrPort = 8007;
|
|
prowlarrPort = 8008;
|
|
seerrPort = 8009;
|
|
sonarrPort = 8010;
|
|
hostConfig = {
|
|
username = user;
|
|
password._secret = config.sops.secrets.nixflix_password.path;
|
|
};
|
|
in
|
|
{
|
|
nixflix = {
|
|
inherit mediaDir downloadsDir stateDir;
|
|
enable = true;
|
|
|
|
caddy = {
|
|
enable = true;
|
|
domain = "patrickcanal.it";
|
|
};
|
|
|
|
flaresolverr.enable = true;
|
|
|
|
torrentClients.qbittorrent = {
|
|
enable = true;
|
|
webuiPort = qbittorrentPort;
|
|
password._secret = config.sops.secrets.nixflix_password.path;
|
|
serverConfig = {
|
|
LegalNotice.Accepted = true;
|
|
Preferences.WebUI = {
|
|
MaxAuthenticationFailCount = 0;
|
|
Username = user;
|
|
Password_PBKDF2 = "@ByteArray(8AhaCcVLo4H07+dv5uF7pQ==:m+wRuZuzus0N5mkOGXePQmDZfgTpRZiv2OSKbk1pnOA/QPa/JF4Ai1FwVbyZ1PF9odSOSI1UaRQwDMb3MxOKMg==)";
|
|
};
|
|
};
|
|
};
|
|
|
|
radarr = {
|
|
enable = true;
|
|
settings.server.port = radarrPort;
|
|
config = {
|
|
apiKey._secret = config.sops.secrets.radarr_api_key.path;
|
|
hostConfig = hostConfig // {
|
|
port = radarrPort;
|
|
};
|
|
};
|
|
};
|
|
|
|
sonarr = {
|
|
enable = true;
|
|
settings.server.port = sonarrPort;
|
|
config = {
|
|
apiKey._secret = config.sops.secrets.sonarr_api_key.path;
|
|
hostConfig = hostConfig // {
|
|
port = sonarrPort;
|
|
};
|
|
};
|
|
};
|
|
|
|
prowlarr = {
|
|
enable = true;
|
|
settings.server.port = prowlarrPort;
|
|
config = {
|
|
apiKey._secret = config.sops.secrets.prowlarr_api_key.path;
|
|
hostConfig = hostConfig // {
|
|
port = prowlarrPort;
|
|
};
|
|
indexers = [
|
|
{
|
|
name = "Il Corsaro Blu";
|
|
username = "Petrich";
|
|
password._secret = config.sops.secrets.indexers_ilcorsaroblu_password.path;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
seerr = {
|
|
enable = true;
|
|
port = seerrPort;
|
|
apiKey._secret = config.sops.secrets.seerr_api_key.path;
|
|
};
|
|
|
|
jellyfin = {
|
|
enable = true;
|
|
apiKey._secret = config.sops.secrets.jellyfin_api_key.path;
|
|
network = {
|
|
knownProxies = [ "127.0.0.1" ];
|
|
internalHttpPort = jellyfinPort;
|
|
};
|
|
users."${user}" = {
|
|
mutable = false;
|
|
policy.isAdministrator = true;
|
|
password._secret = config.sops.secrets.nixflix_password.path;
|
|
};
|
|
libraries = {
|
|
Movies = {
|
|
collectionType = "movies";
|
|
paths = [
|
|
"${mediaDir}/movies"
|
|
];
|
|
};
|
|
|
|
Shows = {
|
|
collectionType = "tvshows";
|
|
seasonZeroDisplayName = "Specials";
|
|
paths = [
|
|
"${mediaDir}/tv"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|