Make container providers configurable for the disnix-service
This commit is contained in:
parent
a2ef6d1936
commit
820dc58edf
|
@ -14,9 +14,13 @@ let
|
||||||
constructors = import ../../services-agnostic/constructors.nix {
|
constructors = import ../../services-agnostic/constructors.nix {
|
||||||
inherit pkgs stateDir runtimeDir logDir tmpDir cacheDir spoolDir forceDisableUserChange processManager;
|
inherit pkgs stateDir runtimeDir logDir tmpDir cacheDir spoolDir forceDisableUserChange processManager;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
containerProviderConstructors = import ../../service-containers-agnostic/constructors.nix {
|
||||||
|
inherit pkgs stateDir runtimeDir logDir tmpDir cacheDir spoolDir forceDisableUserChange processManager;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
sshd = rec {
|
sshd = {
|
||||||
pkg = constructors.sshd {
|
pkg = constructors.sshd {
|
||||||
extraSSHDConfig = ''
|
extraSSHDConfig = ''
|
||||||
UsePAM yes
|
UsePAM yes
|
|
@ -0,0 +1,51 @@
|
||||||
|
{ pkgs ? import <nixpkgs> { inherit system; }
|
||||||
|
, system ? builtins.currentSystem
|
||||||
|
, stateDir ? "/var"
|
||||||
|
, runtimeDir ? "${stateDir}/run"
|
||||||
|
, logDir ? "${stateDir}/log"
|
||||||
|
, spoolDir ? "${stateDir}/spool"
|
||||||
|
, cacheDir ? "${stateDir}/cache"
|
||||||
|
, tmpDir ? (if stateDir == "/var" then "/tmp" else "${stateDir}/tmp")
|
||||||
|
, forceDisableUserChange ? false
|
||||||
|
, processManager
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
constructors = import ../../services-agnostic/constructors.nix {
|
||||||
|
inherit pkgs stateDir runtimeDir logDir tmpDir cacheDir spoolDir forceDisableUserChange processManager;
|
||||||
|
};
|
||||||
|
|
||||||
|
containerProviderConstructors = import ../../service-containers-agnostic/constructors.nix {
|
||||||
|
inherit pkgs stateDir runtimeDir logDir tmpDir cacheDir spoolDir forceDisableUserChange processManager;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
rec {
|
||||||
|
sshd = {
|
||||||
|
pkg = constructors.sshd {
|
||||||
|
extraSSHDConfig = ''
|
||||||
|
UsePAM yes
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dbus-daemon = {
|
||||||
|
pkg = constructors.dbus-daemon {
|
||||||
|
packages = [ pkgs.disnix ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
apache = containerProviderConstructors.simpleWebappApache {
|
||||||
|
serverAdmin = "root@localhost";
|
||||||
|
documentRoot = "/var/www";
|
||||||
|
enablePHP = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
mysql = containerProviderConstructors.mysql {};
|
||||||
|
|
||||||
|
disnix-service = {
|
||||||
|
pkg = constructors.disnix-service {
|
||||||
|
inherit dbus-daemon;
|
||||||
|
containerProviders = [ apache mysql ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{tomcatConstructorFun, dysnomia, stateDir}:
|
{tomcatConstructorFun, lib, dysnomia, stateDir}:
|
||||||
|
|
||||||
{ instanceSuffix ? ""
|
{ instanceSuffix ? ""
|
||||||
, instanceName ? "tomcat${instanceSuffix}"
|
, instanceName ? "tomcat${instanceSuffix}"
|
||||||
|
@ -6,7 +6,7 @@
|
||||||
, serverPort ? 8005
|
, serverPort ? 8005
|
||||||
, httpPort ? 8080, httpsPort ? 8443, ajpPort ? 8009
|
, httpPort ? 8080, httpsPort ? 8443, ajpPort ? 8009
|
||||||
, commonLibs ? []
|
, commonLibs ? []
|
||||||
, type
|
, type ? null
|
||||||
, properties ? {}
|
, properties ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -33,8 +33,10 @@ in
|
||||||
rec {
|
rec {
|
||||||
name = instanceName;
|
name = instanceName;
|
||||||
|
|
||||||
inherit pkg type catalinaBaseDir;
|
inherit pkg catalinaBaseDir;
|
||||||
tomcatPort = httpPort;
|
tomcatPort = httpPort;
|
||||||
|
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // properties
|
} // properties
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{apacheConstructorFun, dysnomia, forceDisableUserChange}:
|
{apacheConstructorFun, lib, dysnomia, forceDisableUserChange}:
|
||||||
|
|
||||||
{ instanceSuffix ? "", instanceName ? "apache${instanceSuffix}"
|
{ instanceSuffix ? "", instanceName ? "apache${instanceSuffix}"
|
||||||
, containerName ? "apache-webapplication${instanceSuffix}"
|
, containerName ? "apache-webapplication${instanceSuffix}"
|
||||||
, port ? 80
|
, port ? 80
|
||||||
, modules ? [], serverName ? "localhost"
|
, modules ? [], serverName ? "localhost"
|
||||||
, serverAdmin
|
, serverAdmin
|
||||||
, documentRoot ? ./webapp
|
, documentRoot ? ../../services-agnostic/http-server-common/webapp
|
||||||
, extraConfig ? ""
|
, extraConfig ? ""
|
||||||
, enableCGI ? false
|
, enableCGI ? false
|
||||||
, enablePHP ? false
|
, enablePHP ? false
|
||||||
, filesetOwner ? null
|
, filesetOwner ? null
|
||||||
, type
|
, type ? null
|
||||||
, properties ? {}
|
, properties ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -33,8 +33,10 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = instanceName;
|
name = instanceName;
|
||||||
inherit pkg type port documentRoot;
|
inherit pkg port documentRoot;
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // (if forceDisableUserChange || filesetOwner == null then {} else {
|
} // (if forceDisableUserChange || filesetOwner == null then {} else {
|
||||||
inherit filesetOwner;
|
inherit filesetOwner;
|
||||||
}) // properties
|
}) // properties
|
||||||
|
|
|
@ -23,10 +23,12 @@ in
|
||||||
enableApacheWebApplication = true;
|
enableApacheWebApplication = true;
|
||||||
});
|
});
|
||||||
inherit forceDisableUserChange;
|
inherit forceDisableUserChange;
|
||||||
|
inherit (pkgs) lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
simpleAppservingTomcat = import ./apache-tomcat/simple-appserving-tomcat.nix {
|
simpleAppservingTomcat = import ./apache-tomcat/simple-appserving-tomcat.nix {
|
||||||
inherit stateDir;
|
inherit stateDir;
|
||||||
|
inherit (pkgs) lib;
|
||||||
tomcatConstructorFun = constructors.simpleAppservingTomcat;
|
tomcatConstructorFun = constructors.simpleAppservingTomcat;
|
||||||
dysnomia = pkgs.dysnomia.override (origArgs: {
|
dysnomia = pkgs.dysnomia.override (origArgs: {
|
||||||
enableTomcatWebApplication = true;
|
enableTomcatWebApplication = true;
|
||||||
|
@ -38,6 +40,7 @@ in
|
||||||
dysnomia = pkgs.dysnomia.override (origArgs: {
|
dysnomia = pkgs.dysnomia.override (origArgs: {
|
||||||
enableInfluxDatabase = true;
|
enableInfluxDatabase = true;
|
||||||
});
|
});
|
||||||
|
inherit (pkgs) lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
simpleMongodb = import ./mongodb/simplemongodb.nix {
|
simpleMongodb = import ./mongodb/simplemongodb.nix {
|
||||||
|
@ -49,6 +52,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
mysql = import ./mysql {
|
mysql = import ./mysql {
|
||||||
|
inherit (pkgs) lib;
|
||||||
inherit runtimeDir;
|
inherit runtimeDir;
|
||||||
mysqlConstructorFun = constructors.mysql;
|
mysqlConstructorFun = constructors.mysql;
|
||||||
dysnomia = pkgs.dysnomia.override (origArgs: {
|
dysnomia = pkgs.dysnomia.override (origArgs: {
|
||||||
|
@ -58,6 +62,7 @@ in
|
||||||
|
|
||||||
postgresql = import ./postgresql {
|
postgresql = import ./postgresql {
|
||||||
inherit runtimeDir;
|
inherit runtimeDir;
|
||||||
|
inherit (pkgs) lib;
|
||||||
postgresqlConstructorFun = constructors.postgresql;
|
postgresqlConstructorFun = constructors.postgresql;
|
||||||
dysnomia = pkgs.dysnomia.override (origArgs: {
|
dysnomia = pkgs.dysnomia.override (origArgs: {
|
||||||
enablePostgreSQLDatabase = true;
|
enablePostgreSQLDatabase = true;
|
||||||
|
@ -66,7 +71,7 @@ in
|
||||||
|
|
||||||
extendableSupervisord = import ./supervisord/extendable-supervisord.nix {
|
extendableSupervisord = import ./supervisord/extendable-supervisord.nix {
|
||||||
inherit stateDir;
|
inherit stateDir;
|
||||||
inherit (pkgs) stdenv;
|
inherit (pkgs) lib;
|
||||||
supervisordConstructorFun = constructors.extendableSupervisord;
|
supervisordConstructorFun = constructors.extendableSupervisord;
|
||||||
dysnomia = pkgs.dysnomia.override (origArgs: {
|
dysnomia = pkgs.dysnomia.override (origArgs: {
|
||||||
enableSupervisordProgram = true;
|
enableSupervisordProgram = true;
|
||||||
|
@ -74,6 +79,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
svnserve = import ./svnserve {
|
svnserve = import ./svnserve {
|
||||||
|
inherit (pkgs) lib;
|
||||||
svnserveConstructorFun = constructors.svnserve;
|
svnserveConstructorFun = constructors.svnserve;
|
||||||
dysnomia = pkgs.dysnomia.override (origArgs: {
|
dysnomia = pkgs.dysnomia.override (origArgs: {
|
||||||
enableSubversionRepository = true;
|
enableSubversionRepository = true;
|
||||||
|
|
|
@ -1,5 +1,16 @@
|
||||||
{influxdbConstructorFun, dysnomia}:
|
{influxdbConstructorFun, lib, dysnomia}:
|
||||||
{instanceSuffix ? "", instanceName ? "influxdb${instanceSuffix}", containerName ? "influx-database${instanceSuffix}", rpcBindIP ? "127.0.0.1", rpcPort ? 8088, httpBindIP ? "", httpPort ? 8086, extraConfig ? "", type, properties ? {}}:
|
|
||||||
|
{ instanceSuffix ? ""
|
||||||
|
, instanceName ? "influxdb${instanceSuffix}"
|
||||||
|
, containerName ? "influx-database${instanceSuffix}"
|
||||||
|
, rpcBindIP ? "127.0.0.1"
|
||||||
|
, rpcPort ? 8088
|
||||||
|
, httpBindIP ? ""
|
||||||
|
, httpPort ? 8086
|
||||||
|
, extraConfig ? ""
|
||||||
|
, type ? null
|
||||||
|
, properties ? {}
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
pkg = influxdbConstructorFun {
|
pkg = influxdbConstructorFun {
|
||||||
|
@ -20,8 +31,10 @@ let
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
name = instanceName;
|
name = instanceName;
|
||||||
inherit pkg type;
|
inherit pkg;
|
||||||
influxdbUsername = instanceName;
|
influxdbUsername = instanceName;
|
||||||
influxdbHttpPort = httpPort;
|
influxdbHttpPort = httpPort;
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // properties
|
} // properties
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
, port ? 27017
|
, port ? 27017
|
||||||
, mongoDumpArgs ? null
|
, mongoDumpArgs ? null
|
||||||
, mongoRestoreArgs ? null
|
, mongoRestoreArgs ? null
|
||||||
, type
|
, type ? null
|
||||||
, properties ? {}
|
, properties ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -30,9 +30,11 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = instanceName;
|
name = instanceName;
|
||||||
inherit pkg type bindIP port;
|
inherit pkg bindIP port;
|
||||||
mongoPort = port;
|
mongoPort = port;
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // (if mongoDumpArgs == null then {} else {
|
} // (if mongoDumpArgs == null then {} else {
|
||||||
inherit mongoDumpArgs;
|
inherit mongoDumpArgs;
|
||||||
}) // (if mongoRestoreArgs == null then {} else {
|
}) // (if mongoRestoreArgs == null then {} else {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{mysqlConstructorFun, dysnomia, runtimeDir}:
|
{mysqlConstructorFun, lib, dysnomia, runtimeDir}:
|
||||||
|
|
||||||
{ instanceSuffix ? "", instanceName ? "mysql${instanceSuffix}"
|
{ instanceSuffix ? "", instanceName ? "mysql${instanceSuffix}"
|
||||||
, port ? 3306
|
, port ? 3306
|
||||||
, containerName ? "mysql-database${instanceSuffix}"
|
, containerName ? "mysql-database${instanceSuffix}"
|
||||||
, type
|
, type ? null
|
||||||
, properties ? {}
|
, properties ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -44,7 +44,9 @@ rec {
|
||||||
name = instanceName;
|
name = instanceName;
|
||||||
mysqlPort = port;
|
mysqlPort = port;
|
||||||
|
|
||||||
inherit pkg type mysqlSocket mysqlUsername;
|
inherit pkg mysqlSocket mysqlUsername;
|
||||||
|
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // properties
|
} // properties
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{postgresqlConstructorFun, dysnomia, runtimeDir}:
|
{postgresqlConstructorFun, lib, dysnomia, runtimeDir}:
|
||||||
|
|
||||||
{ instanceSuffix ? "", instanceName ? "postgresql${instanceSuffix}"
|
{ instanceSuffix ? "", instanceName ? "postgresql${instanceSuffix}"
|
||||||
, containerName ? "postgresql-database${instanceSuffix}"
|
, containerName ? "postgresql-database${instanceSuffix}"
|
||||||
, port ? 5432
|
, port ? 5432
|
||||||
, type
|
, type ? null
|
||||||
, properties ? {}
|
, properties ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -32,7 +32,9 @@ rec {
|
||||||
postgresqlPort = port;
|
postgresqlPort = port;
|
||||||
postgresqlUsername = username;
|
postgresqlUsername = username;
|
||||||
|
|
||||||
inherit pkg type;
|
inherit pkg;
|
||||||
|
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // properties
|
} // properties
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{supervisordConstructorFun, stdenv, dysnomia, stateDir}:
|
{supervisordConstructorFun, lib, dysnomia, stateDir}:
|
||||||
|
|
||||||
{ instanceSuffix ? "", instanceName ? "supervisord${instanceSuffix}"
|
{ instanceSuffix ? "", instanceName ? "supervisord${instanceSuffix}"
|
||||||
, containerName ? "supervisord-program${instanceSuffix}"
|
, containerName ? "supervisord-program${instanceSuffix}"
|
||||||
, inetHTTPServerPort ? 9001
|
, inetHTTPServerPort ? 9001
|
||||||
, postInstall ? ""
|
, postInstall ? ""
|
||||||
, type
|
, type ? null
|
||||||
, properties ? {}
|
, properties ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -28,6 +28,8 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = instanceName;
|
name = instanceName;
|
||||||
inherit pkg type supervisordTargetDir;
|
inherit pkg supervisordTargetDir;
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // properties
|
} // properties
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{svnserveConstructorFun, dysnomia}:
|
{svnserveConstructorFun, lib, dysnomia}:
|
||||||
|
|
||||||
{ instanceSuffix ? "", instanceName ? "svnserve${instanceSuffix}"
|
{ instanceSuffix ? "", instanceName ? "svnserve${instanceSuffix}"
|
||||||
, containerName ? "subversion-repository${instanceSuffix}"
|
, containerName ? "subversion-repository${instanceSuffix}"
|
||||||
, port ? 3690
|
, port ? 3690
|
||||||
, svnBaseDir
|
, svnBaseDir
|
||||||
, svnGroup ? "root"
|
, svnGroup ? "root"
|
||||||
, type
|
, type ? null
|
||||||
, properties ? {}
|
, properties ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -28,6 +28,8 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = instanceName;
|
name = instanceName;
|
||||||
inherit pkg type svnGroup svnBaseDir;
|
inherit pkg svnGroup svnBaseDir;
|
||||||
providesContainer = containerName;
|
providesContainer = containerName;
|
||||||
|
} // lib.optionalAttrs (type != null) {
|
||||||
|
inherit type;
|
||||||
} // properties
|
} // properties
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
{ dbus-daemon ? null
|
{ dbus-daemon ? null
|
||||||
, dysnomiaProperties ? {}
|
, dysnomiaProperties ? {}
|
||||||
, dysnomiaContainers ? {}
|
, dysnomiaContainers ? {}
|
||||||
|
, containerProviders ? []
|
||||||
|
, extraDysnomiaContainersPath ? []
|
||||||
, processManagerContainerSettings ? {}
|
, processManagerContainerSettings ? {}
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -21,10 +23,11 @@ createManagedProcess {
|
||||||
process = "${disnix}/bin/disnix-service";
|
process = "${disnix}/bin/disnix-service";
|
||||||
path = [ nix dysnomiaPkg disnix inetutils ];
|
path = [ nix dysnomiaPkg disnix inetutils ];
|
||||||
environment = import ./dysnomia-env.nix {
|
environment = import ./dysnomia-env.nix {
|
||||||
inherit stdenv lib writeTextFile nix-processmgmt processManager dysnomiaProperties dysnomiaContainers processManagerContainerSettings;
|
inherit stdenv lib writeTextFile nix-processmgmt processManager dysnomiaProperties dysnomiaContainers containerProviders extraDysnomiaContainersPath processManagerContainerSettings;
|
||||||
};
|
};
|
||||||
daemonExtraArgs = [ "--daemon" ];
|
daemonExtraArgs = [ "--daemon" ];
|
||||||
dependencies = lib.optional (dbus-daemon != null) dbus-daemon.pkg;
|
dependencies = lib.optional (dbus-daemon != null) dbus-daemon.pkg
|
||||||
|
++ map (containerProvider: containerProvider.pkg) containerProviders;
|
||||||
|
|
||||||
credentials = {
|
credentials = {
|
||||||
groups = {
|
groups = {
|
||||||
|
|
|
@ -1,4 +1,15 @@
|
||||||
{stdenv, lib, writeTextFile, nix-processmgmt, processManager, dysnomiaProperties, dysnomiaContainers, processManagerContainerSettings}:
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, writeTextFile
|
||||||
|
, nix-processmgmt
|
||||||
|
|
||||||
|
, processManager
|
||||||
|
, dysnomiaProperties
|
||||||
|
, dysnomiaContainers
|
||||||
|
, containerProviders
|
||||||
|
, extraDysnomiaContainersPath
|
||||||
|
, processManagerContainerSettings
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Take some default system properties, override them with the specified Dysnomia properties
|
# Take some default system properties, override them with the specified Dysnomia properties
|
||||||
|
@ -22,7 +33,7 @@ let
|
||||||
text = printProperties _dysnomiaProperties;
|
text = printProperties _dysnomiaProperties;
|
||||||
};
|
};
|
||||||
|
|
||||||
# For process manager that manages the disnix-serivce, expose it as a container
|
# For process managers that manages the disnix-service, expose it as a container
|
||||||
processManagerDysnomiaModule = import "${nix-processmgmt}/nixproc/derive-dysnomia-process-type.nix" {
|
processManagerDysnomiaModule = import "${nix-processmgmt}/nixproc/derive-dysnomia-process-type.nix" {
|
||||||
inherit processManager;
|
inherit processManager;
|
||||||
};
|
};
|
||||||
|
@ -43,6 +54,10 @@ let
|
||||||
wrapper = {};
|
wrapper = {};
|
||||||
} // processManagerContainer) dysnomiaContainers;
|
} // processManagerContainer) dysnomiaContainers;
|
||||||
|
|
||||||
|
containerProvidersContainerPath = map (containerProvider: "${containerProvider.pkg}/etc/dysnomia/containers") containerProviders;
|
||||||
|
|
||||||
|
containerProvidersModulesPath = map (containerProvider: "${containerProvider.pkg}/libexec/dysnomia") containerProviders;
|
||||||
|
|
||||||
# Generate container configuration files
|
# Generate container configuration files
|
||||||
containersDir = stdenv.mkDerivation {
|
containersDir = stdenv.mkDerivation {
|
||||||
name = "dysnomia-containers";
|
name = "dysnomia-containers";
|
||||||
|
@ -66,5 +81,6 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
DYSNOMIA_PROPERTIES = dysnomiaPropertiesFile;
|
DYSNOMIA_PROPERTIES = dysnomiaPropertiesFile;
|
||||||
DYSNOMIA_CONTAINERS_PATH = containersDir;
|
DYSNOMIA_CONTAINERS_PATH = builtins.concatStringsSep ":" ([containersDir] ++ containerProvidersContainerPath ++ extraDysnomiaContainersPath);
|
||||||
|
DYSNOMIA_MODULES_PATH = builtins.concatStringsSep ":" containerProvidersModulesPath;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue