Add gurobi client module
Not yet tested, no license yet Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
parent
a5a13c4e43
commit
715bee3a0a
@ -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
|
||||
|
41
nixos/modules/programs/gurobi.nix
Normal file
41
nixos/modules/programs/gurobi.nix
Normal 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}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user