{ description = "Radarr"; inputs = { nixpkgs = { url = "nixpkgs/nixos-23.05"; }; }; outputs = { self, nixpkgs }@inputs: let system = "x86_64-linux"; branch = "master"; version = "4.5.2.7388"; os = "linux"; arch = "x64"; pkgs = import nixpkgs { inherit system; overlays = [ ( self: super: { radarr = super.radarr.overrideAttrs (old: { inherit version; src = builtins.fetchurl { url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.${branch}.${version}.${os}-core-${arch}.tar.gz"; sha256 = "sha256:1d0rslkcxv3a9d3clwq8j46ap29r5vk3bxgk6yfvsdjmpsbq94h4"; }; }); } ) ]; }; in { packages.${system}.default = pkgs.dockerTools.buildLayeredImage { name = "radarr"; tag = "latest"; maxLayers = 2; contents = [ pkgs.cacert pkgs.coreutils-full pkgs.bash pkgs.util-linux ]; fakeRootCommands = '' mkdir /config mkdir /media chown 5000:5000 /config chown 5000:5000 /media ''; config = { Cmd = [ "${pkgs.radarr}/bin/Radarr" "-nobrowser" "-data=/config" ]; WorkingDir = "${pkgs.radarr}/share/radarr-${version}/UI"; User = "5000:5000"; Env = [ "COMPlus_EnableDiagnostics=0" "XDG_CONFIG_HOME=/config/xdg" ]; ExposedPorts = { "7878/tcp" = { }; }; Volumes = { "/config" = { }; "/media" = { }; }; }; }; }; }