fixup! flake.nixConfig: fix flake-registry config settings

This commit is contained in:
Alexander Bantyev 2021-07-01 17:54:22 +03:00
parent ef1e7ab840
commit e756a59c72
No known key found for this signature in database
GPG key ID: E081FF12ADCB4AD5
4 changed files with 15 additions and 3 deletions

View file

@ -573,8 +573,10 @@ InstallableFlake::getCursors(EvalState & state)
std::shared_ptr<flake::LockedFlake> InstallableFlake::getLockedFlake() const std::shared_ptr<flake::LockedFlake> InstallableFlake::getLockedFlake() const
{ {
flake::LockFlags lockFlagsApplyConfig = lockFlags;
lockFlagsApplyConfig.applyNixConfig = true;
if (!_lockedFlake) { if (!_lockedFlake) {
_lockedFlake = std::make_shared<flake::LockedFlake>(lockFlake(*state, flakeRef, lockFlags)); _lockedFlake = std::make_shared<flake::LockedFlake>(lockFlake(*state, flakeRef, lockFlagsApplyConfig));
} }
return _lockedFlake; return _lockedFlake;
} }

View file

@ -298,8 +298,10 @@ LockedFlake lockFlake(
auto flake = getFlake(state, topRef, lockFlags.useRegistries, flakeCache); auto flake = getFlake(state, topRef, lockFlags.useRegistries, flakeCache);
if (lockFlags.applyNixConfig) {
flake.config.apply(); flake.config.apply();
// FIXME: send new config to the daemon. // FIXME: send new config to the daemon.
}
try { try {

View file

@ -104,6 +104,10 @@ struct LockFlags
references like 'nixpkgs'. */ references like 'nixpkgs'. */
bool useRegistries = true; bool useRegistries = true;
/* Whether to apply flake's nixConfig attribute to the configuration */
bool applyNixConfig = false;
/* Whether mutable flake references (i.e. those without a Git /* Whether mutable flake references (i.e. those without a Git
revision or similar) without a corresponding lock are revision or similar) without a corresponding lock are
allowed. Mutable flake references with a lock are always allowed. Mutable flake references with a lock are always

View file

@ -84,6 +84,7 @@ struct CmdFlakeUpdate : FlakeCommand
lockFlags.recreateLockFile = true; lockFlags.recreateLockFile = true;
lockFlags.writeLockFile = true; lockFlags.writeLockFile = true;
lockFlags.applyNixConfig = true;
lockFlake(); lockFlake();
} }
@ -114,6 +115,7 @@ struct CmdFlakeLock : FlakeCommand
settings.tarballTtl = 0; settings.tarballTtl = 0;
lockFlags.writeLockFile = true; lockFlags.writeLockFile = true;
lockFlags.applyNixConfig = true;
lockFlake(); lockFlake();
} }
@ -270,6 +272,8 @@ struct CmdFlakeCheck : FlakeCommand
settings.readOnlyMode = !build; settings.readOnlyMode = !build;
auto state = getEvalState(); auto state = getEvalState();
lockFlags.applyNixConfig = true;
auto flake = lockFlake(); auto flake = lockFlake();
bool hasErrors = false; bool hasErrors = false;