diff --git a/containers/default.nix b/containers/default.nix index 49dc569..0bbbc58 100644 --- a/containers/default.nix +++ b/containers/default.nix @@ -3,11 +3,13 @@ imports = [ ./jellyfin.nix ./qbittorrent.nix + ./lidarr.nix ]; settings.containers = { jellyfin.enable = lib.mkDefault false; qbittorrent.enable = lib.mkDefault false; + lidarr.enable = lib.mkDefault false; }; } diff --git a/containers/lidarr.nix b/containers/lidarr.nix new file mode 100644 index 0000000..7ee7b2c --- /dev/null +++ b/containers/lidarr.nix @@ -0,0 +1,41 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + options.settings.containers.lidarr = { + enable = lib.mkEnableOption "enable lidarr arion container"; + }; + + config = lib.mkIf config.settings.containers.lidarr.enable { + virtualisation.arion.projects.lidarr = { + settings = { + project.name = "lidarr"; + services.lidarr = { + service.useHostStore = true; + nixos.useSystemd = true; + nixos.configuration = + { lib, ... }: + { + boot.isContainer = true; + boot.tmp.useTmpfs = true; + networking.useDHCP = false; + services.nscd.enable = false; + system.nssModules = lib.mkForce [ ]; + + services.lidarr.enable = true; + services.lidarr.openFirewall = true; + services.lidarr.dataDir = "/config"; + }; + service.ports = [ "8686:8686" ]; + service.volumes = [ + "/config/lidarr:/config" + "/data:/data" + ]; + }; + }; + }; + }; +} diff --git a/hosts/main-homelab/configuration.nix b/hosts/main-homelab/configuration.nix index 025f696..9cd4eb5 100644 --- a/hosts/main-homelab/configuration.nix +++ b/hosts/main-homelab/configuration.nix @@ -30,6 +30,7 @@ containers.jellyfin.enable = lib.mkForce true; containers.qbittorrent.enable = lib.mkForce true; + containers.lidarr.enable = lib.mkForce true; }; boot.kernelPackages = pkgs.linuxPackages_latest;