Add gurobi client module

Not yet tested, no license yet

Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
Shea Levy 2013-10-16 11:23:58 -04:00
parent a5a13c4e43
commit 715bee3a0a
2 changed files with 42 additions and 0 deletions

View File

@ -47,6 +47,7 @@
./programs/bash/command-not-found.nix
./programs/blcr.nix
./programs/environment.nix
./programs/gurobi.nix
./programs/info.nix
./programs/shadow.nix
./programs/shell.nix

View File

@ -0,0 +1,41 @@
{ config, pkgs, ... }:
with pkgs.lib;
let
cfg = config.programs.gurobi;
in {
options = {
programs.gurobi = {
license = mkOption {
default = null;
description = "Path to the Gurobi license file if not using a token server";
type = types.nullOr types.path;
};
tokenServerAddress = mkOption {
default = null;
description = "Address of the token server";
type = types.nullOr types.string;
};
};
config = mkIf (cfg.license != null || cfg.tokenServerAddress != null) {
assertions = [ {
assertion = cfg.license == null || cfg.tokenServerAddress == null;
message = "Please only set one of a gurobi license file and a gurobi token server address";
} ];
environment.variables.GRB_LICENSE_FILE = if cfg.license != null
then cfg.license
else pkgs.writeTextFile {
name = "gurobi-generated-license";
text = "TOKENSERVER=${cfg.tokenServerAddress}";
};
};
};
}