aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/globals.cc
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2023-05-19 10:56:59 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-06-18 23:31:18 -0400
commitd2ce2e89b178e7e7467cf4c1e572704a4c2ca75e (patch)
tree02aa329cd6ae719276abdfe953500783b91e1e23 /src/libstore/globals.cc
parentc8825e9d8c3fa802811f3829d055e3ef9aae90e2 (diff)
Split `OptionalPathSetting` from `PathSetting`
Rather than doing `allowEmpty` as boolean, have separate types and use `std::optional`. This makes it harder to forget the possibility of an empty path. The `build-hook` setting was categorized as a `PathSetting`, but actually it was split into arguments. No good! Now, it is `Setting<Strings>` which actually reflects what it means and how it is used. Because of the subtyping, we now also have support for `Setting<std::optional<String>>` in general. I imagine this can be used to clean up many more settings also.
Diffstat (limited to 'src/libstore/globals.cc')
-rw-r--r--src/libstore/globals.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
index d53377239..5a4cb1824 100644
--- a/src/libstore/globals.cc
+++ b/src/libstore/globals.cc
@@ -100,7 +100,10 @@ Settings::Settings()
if (!pathExists(nixExePath)) {
nixExePath = getSelfExe().value_or("nix");
}
- buildHook = nixExePath + " __build-remote";
+ buildHook = {
+ nixExePath,
+ "__build-remote",
+ };
}
void loadConfFile()