mirror of
https://github.com/NixOS/nix.git
synced 2025-11-14 22:42:41 +01:00
Remove the builder-files option
You can now include files via the "builders" option, using the syntax "@<filename>". Having only one option makes it easier to override builders completely. For backward compatibility, the default is "@/etc/nix/machines", or "@<filename>" for each file name in NIX_REMOTE_SYSTEMS.
This commit is contained in:
parent
d4609bb3af
commit
af241ae7d3
3 changed files with 21 additions and 16 deletions
|
|
@ -47,9 +47,22 @@ bool Machine::mandatoryMet(const std::set<string> & features) const {
|
|||
void parseMachines(const std::string & s, Machines & machines)
|
||||
{
|
||||
for (auto line : tokenizeString<std::vector<string>>(s, "\n;")) {
|
||||
chomp(line);
|
||||
trim(line);
|
||||
line.erase(std::find(line.begin(), line.end(), '#'), line.end());
|
||||
if (line.empty()) continue;
|
||||
|
||||
if (line[0] == '@') {
|
||||
auto file = trim(std::string(line, 1));
|
||||
try {
|
||||
parseMachines(readFile(file), machines);
|
||||
} catch (const SysError & e) {
|
||||
if (e.errNo != ENOENT)
|
||||
throw;
|
||||
debug("cannot find machines file '%s'", file);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
auto tokens = tokenizeString<std::vector<string>>(line);
|
||||
auto sz = tokens.size();
|
||||
if (sz < 1)
|
||||
|
|
@ -74,15 +87,6 @@ Machines getMachines()
|
|||
{
|
||||
Machines machines;
|
||||
|
||||
for (auto & file : settings.builderFiles.get()) {
|
||||
try {
|
||||
parseMachines(readFile(file), machines);
|
||||
} catch (const SysError & e) {
|
||||
if (e.errNo != ENOENT)
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
parseMachines(settings.builders, machines);
|
||||
|
||||
return machines;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue