about summary refs log tree commit diff
path: root/pkgs/servers/unifi
diff options
context:
space:
mode:
authorBadi Abdul-Wahid <abdulwahidc@gmail.com>2018-03-25 16:49:54 -0400
committerRobin Gloster <mail@glob.in>2018-04-28 00:27:33 +0200
commitdf3566c9560b3305bd33faf4bc7580dc55f4f71e (patch)
tree43b1489bda7e83f26052e380dd7c16993895a2de /pkgs/servers/unifi
parent68d144b6eda1d1b0412b86596f688f179b43d257 (diff)
downloadnixlib-df3566c9560b3305bd33faf4bc7580dc55f4f71e.tar
nixlib-df3566c9560b3305bd33faf4bc7580dc55f4f71e.tar.gz
nixlib-df3566c9560b3305bd33faf4bc7580dc55f4f71e.tar.bz2
nixlib-df3566c9560b3305bd33faf4bc7580dc55f4f71e.tar.lz
nixlib-df3566c9560b3305bd33faf4bc7580dc55f4f71e.tar.xz
nixlib-df3566c9560b3305bd33faf4bc7580dc55f4f71e.tar.zst
nixlib-df3566c9560b3305bd33faf4bc7580dc55f4f71e.zip
unifi, nixos/unifi: support LTS (5.6.36) and release (5.7.20)
Ubiquiti has both a LTS and current version of their Unifi controller software.

The latter adds new features, but may drop support for some devices.

This adds the capability to use either for the unifi module but defaults
to the LTS version, which was the previous behavior.
Diffstat (limited to 'pkgs/servers/unifi')
-rw-r--r--pkgs/servers/unifi/default.nix28
1 files changed, 22 insertions, 6 deletions
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index e9d2fd07dc56..dac4bf6899a1 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -2,21 +2,37 @@
 , dpkg
 , fetchurl
 , unzip
+, useLTS ? false
 }:
 
-stdenv.mkDerivation rec {
-  name = "unifi-controller-${version}";
-  version = "5.6.36";
 
-  src = fetchurl {
+let
+  versions = {
+    stable = {
+      version = "5.7.20";
+      sha256 = "1ylj4i5mcv6z9n32275ccdf1rqk74zilqsih3r6xzhm30pxrd8dd";
+    };
+    lts = {
+      version = "5.6.36";
+      sha256 = "075q7vm56fdsjwh72y2cb1pirl2pxdkvqnhvd3bf1c2n64mvp6bi";
+    };
+  };
+  selectedVersion =
+    let attr = if useLTS then "lts" else "stable";
+    in versions."${attr}";
+in
+
+stdenv.mkDerivation {
+  name = "unifi-controller-${selectedVersion.version}";
+  src = with selectedVersion; fetchurl {
     url = "https://dl.ubnt.com/unifi/${version}/unifi_sysvinit_all.deb";
-    sha256 = "075q7vm56fdsjwh72y2cb1pirl2pxdkvqnhvd3bf1c2n64mvp6bi";
+    inherit sha256;
   };
 
   buildInputs = [ dpkg ];
 
   unpackPhase = ''
-    dpkg-deb -x ${src} ./
+    dpkg-deb -x $src ./
   '';
 
   doConfigure = false;