diff options
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/networking/unifi.nix | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix index 8e5f0bfc070d..94958bfdd83e 100644 --- a/nixos/modules/services/networking/unifi.nix +++ b/nixos/modules/services/networking/unifi.nix @@ -4,22 +4,22 @@ let cfg = config.services.unifi; stateDir = "/var/lib/unifi"; cmd = '' - @${pkgs.jre}/bin/java java \ + @${cfg.jrePackage}/bin/java java \ ${optionalString (cfg.initialJavaHeapSize != null) "-Xms${(toString cfg.initialJavaHeapSize)}m"} \ ${optionalString (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m"} \ -jar ${stateDir}/lib/ace.jar ''; mountPoints = [ { - what = "${pkgs.unifi}/dl"; + what = "${cfg.unifiPackage}/dl"; where = "${stateDir}/dl"; } { - what = "${pkgs.unifi}/lib"; + what = "${cfg.unifiPackage}/lib"; where = "${stateDir}/lib"; } { - what = "${pkgs.mongodb}/bin"; + what = "${cfg.mongodbPackage}/bin"; where = "${stateDir}/bin"; } { @@ -41,6 +41,33 @@ in ''; }; + services.unifi.jrePackage = mkOption { + type = types.package; + default = pkgs.jre8; + defaultText = "pkgs.jre8"; + description = '' + The JRE package to use. Check the release notes to ensure it is supported. + ''; + }; + + services.unifi.unifiPackage = mkOption { + type = types.package; + default = pkgs.unifiLTS; + defaultText = "pkgs.unifiLTS"; + description = '' + The unifi package to use. + ''; + }; + + services.unifi.mongodbPackage = mkOption { + type = types.package; + default = pkgs.mongodb; + defaultText = "pkgs.mongodb"; + description = '' + The mongodb package to use. + ''; + }; + services.unifi.dataDir = mkOption { type = types.str; default = "${stateDir}/data"; @@ -137,7 +164,7 @@ in rm -rf "${stateDir}/webapps" mkdir -p "${stateDir}/webapps" chown unifi "${stateDir}/webapps" - ln -s "${pkgs.unifi}/webapps/ROOT" "${stateDir}/webapps/ROOT" + ln -s "${cfg.unifiPackage}/webapps/ROOT" "${stateDir}/webapps/ROOT" ''; postStop = '' |