diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2017-01-09 22:30:15 +0100 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2017-01-09 22:30:15 +0100 |
| commit | 5a5ec9ac42bcc99a6ddc577704824af225b99bd4 (patch) | |
| tree | f5514fe171e8a129cd2147977a8581434d29cb2e /modules | |
| parent | 30ccc15bed7d0f8adb9c265488f2c583332e9c5a (diff) | |
nix.distributedBuilds: create directory for current load
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/alias.nix | 25 | ||||
| -rw-r--r-- | modules/nix/default.nix | 14 | ||||
| -rw-r--r-- | modules/services/activate-system.nix | 2 | ||||
| -rw-r--r-- | modules/services/nix-daemon.nix | 4 | ||||
| -rw-r--r-- | modules/system/activation-scripts.nix | 2 |
5 files changed, 41 insertions, 6 deletions
diff --git a/modules/alias.nix b/modules/alias.nix new file mode 100644 index 0000000..17fb00b --- /dev/null +++ b/modules/alias.nix @@ -0,0 +1,25 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + +in + +{ + options = { + + nix.profile = mkOption { default = null; }; + + }; + + config = { + + assertions = + [ { assertion = config.nix.profile == null; message = "nix.profile was renamed to nix.package"; } + ]; + + nix.package = mkIf (config.nix.profile != null) config.nix.profile; + + }; +} diff --git a/modules/nix/default.nix b/modules/nix/default.nix index 7dfb727..286a766 100644 --- a/modules/nix/default.nix +++ b/modules/nix/default.nix @@ -47,12 +47,12 @@ in nix = { - profile = mkOption { + package = mkOption { type = types.path; default = "/nix/var/nix/profiles/default"; - defaultText = "pkgs.nix"; + example = "pkgs.nix"; description = '' - This option specifies the profile that contains the Nix package instance to use throughout the system. + This option specifies the package or profile that contains the version of Nix to use throughout the system. ''; }; @@ -337,7 +337,7 @@ in } // optionalAttrs cfg.distributedBuilds { - NIX_BUILD_HOOK = "${cfg.profile}/libexec/nix/build-remote.pl"; + NIX_BUILD_HOOK = "${cfg.package}/libexec/nix/build-remote.pl"; NIX_REMOTE_SYSTEMS = "/etc/nix/machines"; NIX_CURRENT_LOAD = "/run/nix/current-load"; }; @@ -347,5 +347,11 @@ in { NIX_PATH = concatStringsSep ":" cfg.nixPath; }; + system.activationScripts.nix.text = mkIf cfg.distributedBuilds '' + if [ ! -d ${cfg.envVars.NIX_CURRENT_LOAD} ]; then + mkdir -p ${cfg.envVars.NIX_CURRENT_LOAD} + fi + ''; + }; } diff --git a/modules/services/activate-system.nix b/modules/services/activate-system.nix index 3eca25a..404cec6 100644 --- a/modules/services/activate-system.nix +++ b/modules/services/activate-system.nix @@ -19,6 +19,8 @@ let # Prevent the current configuration from being garbage-collected. ln -sfn /run/current-system /nix/var/nix/gcroots/current-system + + ${config.system.activationScripts.nix.text} ''; in diff --git a/modules/services/nix-daemon.nix b/modules/services/nix-daemon.nix index 45f7d09..59f280b 100644 --- a/modules/services/nix-daemon.nix +++ b/modules/services/nix-daemon.nix @@ -38,7 +38,7 @@ in ''; launchd.daemons.nix-daemon = { - serviceConfig.ProgramArguments = [ "/bin/sh" "-c" "exec ${config.nix.profile}/bin/nix-daemon" ]; + serviceConfig.ProgramArguments = [ "/bin/sh" "-c" "exec ${config.nix.package}/bin/nix-daemon" ]; serviceConfig.KeepAlive = true; serviceConfig.ProcessType = "Background"; serviceConfig.LowPriorityIO = config.nix.daemonIONice; @@ -47,7 +47,7 @@ in serviceConfig.EnvironmentVariables = config.nix.envVars # // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; } - // { SSL_CERT_FILE = "${config.nix.profile}/etc/ssl/certs/ca-bundle.crt"; } + // { SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; } // { TMPDIR = "${cfg.tempDir}"; }; }; }; diff --git a/modules/system/activation-scripts.nix b/modules/system/activation-scripts.nix index 4e24098..4a66996 100644 --- a/modules/system/activation-scripts.nix +++ b/modules/system/activation-scripts.nix @@ -59,6 +59,8 @@ in # Prevent the current configuration from being garbage-collected. ln -sfn /run/current-system /nix/var/nix/gcroots/current-system + ${cfg.activationScripts.nix.text} + ${cfg.activationScripts.etc.text} ${cfg.activationScripts.launchd.text} ${cfg.activationScripts.time.text} |
