diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/unifi/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/unifi/default.nix | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/unifi/default.nix b/nixpkgs/pkgs/servers/unifi/default.nix new file mode 100644 index 000000000000..fd1787d4c99d --- /dev/null +++ b/nixpkgs/pkgs/servers/unifi/default.nix @@ -0,0 +1,57 @@ +{ stdenv, dpkg, fetchurl }: + +let + generic = { version, sha256, suffix ? "" }: + stdenv.mkDerivation rec { + name = "unifi-controller-${version}"; + + src = fetchurl { + url = "https://dl.ubnt.com/unifi/${version}${suffix}/unifi_sysvinit_all.deb"; + inherit sha256; + }; + + nativeBuildInputs = [ dpkg ]; + + unpackPhase = '' + runHook preUnpack + dpkg-deb -x $src ./ + runHook postUnpack + ''; + + doConfigure = false; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cd ./usr/lib/unifi + cp -ar dl lib webapps $out + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = http://www.ubnt.com/; + description = "Controller for Ubiquiti UniFi access points"; + license = licenses.unfree; + platforms = platforms.unix; + maintainers = with maintainers; [ wkennington ]; + }; + }; + +in rec { + + # https://help.ubnt.com/hc/en-us/articles/115000441548-UniFi-Current-Controller-Versions + + unifiLTS = generic { + version = "5.6.39"; + sha256 = "025qq517j32r1pnabg2q8lhy65c6qsk17kzw3aijhrc2gpgj2pa7"; + }; + + unifiStable = generic { + version = "5.9.29"; + sha256 = "0djdjh7lwaa5nvhvz2yh6dn07iad5nq4jpab7rc909sljl6wvwvx"; + }; + + unifiTesting = unifiStable; +} |