summary refs log tree commit diff
diff options
context:
space:
mode:
authorElis Hirwing <elis@hirwing.se>2018-09-09 12:10:04 +0200
committerEdward Tjörnhammar <ed@cflags.cc>2018-09-29 21:40:29 +0200
commitaba95986d2e76b24ad2c45bed2076dda8b1451b3 (patch)
tree0e97c4e6a2d13b2017dda6d7c936854be6310415
parent18db34f09bd03fa8f3bb2549c93d190e79b50a5f (diff)
downloadnixpkgs-aba95986d2e76b24ad2c45bed2076dda8b1451b3.tar
nixpkgs-aba95986d2e76b24ad2c45bed2076dda8b1451b3.tar.gz
nixpkgs-aba95986d2e76b24ad2c45bed2076dda8b1451b3.tar.bz2
nixpkgs-aba95986d2e76b24ad2c45bed2076dda8b1451b3.tar.lz
nixpkgs-aba95986d2e76b24ad2c45bed2076dda8b1451b3.tar.xz
nixpkgs-aba95986d2e76b24ad2c45bed2076dda8b1451b3.tar.zst
nixpkgs-aba95986d2e76b24ad2c45bed2076dda8b1451b3.zip
lidarr: init at 0.3.1.471
Fork of sonarr (as radarr) but for music instead of series and movies.
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/misc/lidarr.nix46
-rw-r--r--pkgs/servers/lidarr/default.nix36
-rw-r--r--pkgs/top-level/all-packages.nix2
5 files changed, 87 insertions, 0 deletions
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 { };