From aba95986d2e76b24ad2c45bed2076dda8b1451b3 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 9 Sep 2018 12:10:04 +0200 Subject: lidarr: init at 0.3.1.471 Fork of sonarr (as radarr) but for music instead of series and movies. --- nixos/modules/misc/ids.nix | 2 ++ nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/lidarr.nix | 46 ++++++++++++++++++++++++++++++++++ pkgs/servers/lidarr/default.nix | 36 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 5 files changed, 87 insertions(+) create mode 100644 nixos/modules/services/misc/lidarr.nix create mode 100644 pkgs/servers/lidarr/default.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 00562082aa0..0b4ed6d3b62 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -330,6 +330,7 @@ # render = 303; # unused zeronet = 304; lirc = 305; + lidarr = 306; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -620,6 +621,7 @@ render = 303; # default udev rules from systemd requires these zeronet = 304; lirc = 305; + lidarr = 306; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 152100aa8c5..f4c7cf601bf 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -365,6 +365,7 @@ ./services/misc/jackett.nix ./services/misc/logkeys.nix ./services/misc/leaps.nix + ./services/misc/lidarr.nix ./services/misc/mantisbt.nix ./services/misc/mathics.nix ./services/misc/matrix-synapse.nix diff --git a/nixos/modules/services/misc/lidarr.nix b/nixos/modules/services/misc/lidarr.nix new file mode 100644 index 00000000000..627f22334fe --- /dev/null +++ b/nixos/modules/services/misc/lidarr.nix @@ -0,0 +1,46 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.lidarr; +in +{ + options = { + services.lidarr = { + enable = mkEnableOption "Lidarr"; + }; + }; + + config = mkIf cfg.enable { + systemd.services.lidarr = { + description = "Lidarr"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + [ ! -d /var/lib/lidarr ] && mkdir -p /var/lib/lidarr + chown -R lidarr:lidarr /var/lib/lidarr + ''; + + serviceConfig = { + Type = "simple"; + User = "lidarr"; + Group = "lidarr"; + PermissionsStartOnly = "true"; + ExecStart = "${pkgs.lidarr}/bin/Lidarr"; + Restart = "on-failure"; + + StateDirectory = "/var/lib/lidarr/"; + StateDirectoryMode = "0770"; + }; + }; + + users.users.lidarr = { + uid = config.ids.uids.lidarr; + home = "/var/lib/lidarr"; + group = "lidarr"; + }; + + users.groups.lidarr.gid = config.ids.gids.lidarr; + }; +} diff --git a/pkgs/servers/lidarr/default.nix b/pkgs/servers/lidarr/default.nix new file mode 100644 index 00000000000..3290d8ba1d1 --- /dev/null +++ b/pkgs/servers/lidarr/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "lidarr-${version}"; + version = "0.3.1.471"; + + src = fetchurl { + url = "https://github.com/lidarr/Lidarr/releases/download/v${version}/Lidarr.develop.${version}.linux.tar.gz"; + sha256 = "1x8q5yivkz8rwpkz0gdi73iaszb253bm1c3rdzar7xgrqr3g11nm"; + }; + + buildInputs = [ + makeWrapper + ]; + + installPhase = '' + mkdir -p $out/bin + cp -r * $out/bin/ + + # Mark all executable files as non-executable + find $out/bin -type f -executable | xargs chmod -x + + makeWrapper "${mono}/bin/mono" $out/bin/Lidarr \ + --add-flags "$out/bin/Lidarr.exe" \ + --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ + curl sqlite libmediainfo ]} + ''; + + meta = with stdenv.lib; { + description = "A Usenet/BitTorrent music downloader"; + homepage = https://lidarr.audio/; + license = licenses.gpl3; + maintainers = [ maintainers.etu ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8460da60e9..eb01eca4e5a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3858,6 +3858,8 @@ with pkgs; libwebsockets = callPackage ../development/libraries/libwebsockets { }; + lidarr = callPackage ../servers/lidarr { }; + limesuite = callPackage ../applications/misc/limesuite { }; limesurvey = callPackage ../servers/limesurvey { }; -- cgit 1.4.1