about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2020-05-27T20·56+0100
committerVincent Ambo <tazjin@google.com>2020-05-27T20·56+0100
commit3652326ed281f5f753423acef51103fb8df62a6d (patch)
tree3e6969ccaa13e77eb42f887cd081b45d7fffed80
parent86a35d963d7b6108dec44411c8ebd5aadbb148ac (diff)
refactor(3p/nix): Anchor local includes at src/ r/865
Previously all includes were anchored in one global mess of header
files. This moves the includes into filesystem "namespaces" (if you
will) for each sub-package of Nix.

Note: This commit does not introduce the relevant build system changes.
-rw-r--r--third_party/nix/src/build-remote/build-remote.cc18
-rw-r--r--third_party/nix/src/libexpr/attr-path.cc6
-rw-r--r--third_party/nix/src/libexpr/attr-path.hh2
-rw-r--r--third_party/nix/src/libexpr/attr-set.cc4
-rw-r--r--third_party/nix/src/libexpr/attr-set.hh6
-rw-r--r--third_party/nix/src/libexpr/common-eval-args.cc10
-rw-r--r--third_party/nix/src/libexpr/common-eval-args.hh2
-rw-r--r--third_party/nix/src/libexpr/eval-inline.hh2
-rw-r--r--third_party/nix/src/libexpr/eval.cc20
-rw-r--r--third_party/nix/src/libexpr/eval.hh12
-rw-r--r--third_party/nix/src/libexpr/function-trace.cc2
-rw-r--r--third_party/nix/src/libexpr/function-trace.hh2
-rw-r--r--third_party/nix/src/libexpr/get-drvs.cc8
-rw-r--r--third_party/nix/src/libexpr/get-drvs.hh2
-rw-r--r--third_party/nix/src/libexpr/json-to-value.cc2
-rw-r--r--third_party/nix/src/libexpr/json-to-value.hh2
-rw-r--r--third_party/nix/src/libexpr/lexer.l4
-rw-r--r--third_party/nix/src/libexpr/names.cc4
-rw-r--r--third_party/nix/src/libexpr/names.hh2
-rw-r--r--third_party/nix/src/libexpr/nixexpr.cc6
-rw-r--r--third_party/nix/src/libexpr/nixexpr.hh6
-rw-r--r--third_party/nix/src/libexpr/parser.y16
-rw-r--r--third_party/nix/src/libexpr/primops.cc28
-rw-r--r--third_party/nix/src/libexpr/primops.hh2
-rw-r--r--third_party/nix/src/libexpr/primops/context.cc6
-rw-r--r--third_party/nix/src/libexpr/primops/fetchGit.cc12
-rw-r--r--third_party/nix/src/libexpr/primops/fetchMercurial.cc10
-rw-r--r--third_party/nix/src/libexpr/primops/fromTOML.cc4
-rw-r--r--third_party/nix/src/libexpr/symbol-table.cc2
-rw-r--r--third_party/nix/src/libexpr/value-to-json.cc8
-rw-r--r--third_party/nix/src/libexpr/value-to-json.hh4
-rw-r--r--third_party/nix/src/libexpr/value-to-xml.cc8
-rw-r--r--third_party/nix/src/libexpr/value-to-xml.hh4
-rw-r--r--third_party/nix/src/libexpr/value.hh8
-rw-r--r--third_party/nix/src/libmain/common-args.cc4
-rw-r--r--third_party/nix/src/libmain/common-args.hh2
-rw-r--r--third_party/nix/src/libmain/shared.cc8
-rw-r--r--third_party/nix/src/libmain/shared.hh6
-rw-r--r--third_party/nix/src/libmain/stack.cc2
-rw-r--r--third_party/nix/src/libstore/binary-cache-store.cc28
-rw-r--r--third_party/nix/src/libstore/binary-cache-store.hh6
-rw-r--r--third_party/nix/src/libstore/build.cc32
-rw-r--r--third_party/nix/src/libstore/builtins.hh2
-rw-r--r--third_party/nix/src/libstore/builtins/buildenv.cc2
-rw-r--r--third_party/nix/src/libstore/builtins/fetchurl.cc10
-rw-r--r--third_party/nix/src/libstore/crypto.cc6
-rw-r--r--third_party/nix/src/libstore/crypto.hh2
-rw-r--r--third_party/nix/src/libstore/derivations.cc14
-rw-r--r--third_party/nix/src/libstore/derivations.hh6
-rw-r--r--third_party/nix/src/libstore/download.cc20
-rw-r--r--third_party/nix/src/libstore/download.hh6
-rw-r--r--third_party/nix/src/libstore/export-import.cc6
-rw-r--r--third_party/nix/src/libstore/fs-accessor.hh2
-rw-r--r--third_party/nix/src/libstore/gc.cc10
-rw-r--r--third_party/nix/src/libstore/globals.cc9
-rw-r--r--third_party/nix/src/libstore/globals.hh7
-rw-r--r--third_party/nix/src/libstore/http-binary-cache-store.cc8
-rw-r--r--third_party/nix/src/libstore/legacy-ssh-store.cc19
-rw-r--r--third_party/nix/src/libstore/local-binary-cache-store.cc6
-rw-r--r--third_party/nix/src/libstore/local-fs-store.cc12
-rw-r--r--third_party/nix/src/libstore/local-store.cc15
-rw-r--r--third_party/nix/src/libstore/local-store.hh10
-rw-r--r--third_party/nix/src/libstore/machines.cc6
-rw-r--r--third_party/nix/src/libstore/machines.hh2
-rw-r--r--third_party/nix/src/libstore/misc.cc12
-rw-r--r--third_party/nix/src/libstore/nar-accessor.cc6
-rw-r--r--third_party/nix/src/libstore/nar-accessor.hh2
-rw-r--r--third_party/nix/src/libstore/nar-info-disk-cache.cc8
-rw-r--r--third_party/nix/src/libstore/nar-info-disk-cache.hh4
-rw-r--r--third_party/nix/src/libstore/nar-info.cc4
-rw-r--r--third_party/nix/src/libstore/nar-info.hh6
-rw-r--r--third_party/nix/src/libstore/optimise-store.cc8
-rw-r--r--third_party/nix/src/libstore/parsed-derivations.cc2
-rw-r--r--third_party/nix/src/libstore/parsed-derivations.hh2
-rw-r--r--third_party/nix/src/libstore/pathlocks.cc6
-rw-r--r--third_party/nix/src/libstore/pathlocks.hh2
-rw-r--r--third_party/nix/src/libstore/profiles.cc6
-rw-r--r--third_party/nix/src/libstore/profiles.hh4
-rw-r--r--third_party/nix/src/libstore/references.cc8
-rw-r--r--third_party/nix/src/libstore/references.hh4
-rw-r--r--third_party/nix/src/libstore/remote-fs-accessor.cc6
-rw-r--r--third_party/nix/src/libstore/remote-fs-accessor.hh6
-rw-r--r--third_party/nix/src/libstore/remote-store.cc22
-rw-r--r--third_party/nix/src/libstore/remote-store.hh2
-rw-r--r--third_party/nix/src/libstore/s3-binary-cache-store.cc16
-rw-r--r--third_party/nix/src/libstore/s3-binary-cache-store.hh2
-rw-r--r--third_party/nix/src/libstore/s3.hh2
-rw-r--r--third_party/nix/src/libstore/sqlite.cc4
-rw-r--r--third_party/nix/src/libstore/sqlite.hh2
-rw-r--r--third_party/nix/src/libstore/ssh-store.cc14
-rw-r--r--third_party/nix/src/libstore/ssh.cc2
-rw-r--r--third_party/nix/src/libstore/ssh.hh4
-rw-r--r--third_party/nix/src/libstore/store-api.cc20
-rw-r--r--third_party/nix/src/libstore/store-api.hh14
-rw-r--r--third_party/nix/src/libutil/affinity.cc6
-rw-r--r--third_party/nix/src/libutil/archive.cc8
-rw-r--r--third_party/nix/src/libutil/archive.hh4
-rw-r--r--third_party/nix/src/libutil/args.cc4
-rw-r--r--third_party/nix/src/libutil/args.hh2
-rw-r--r--third_party/nix/src/libutil/compression.cc8
-rw-r--r--third_party/nix/src/libutil/compression.hh6
-rw-r--r--third_party/nix/src/libutil/config.cc6
-rw-r--r--third_party/nix/src/libutil/config.hh2
-rw-r--r--third_party/nix/src/libutil/hash.cc8
-rw-r--r--third_party/nix/src/libutil/hash.hh4
-rw-r--r--third_party/nix/src/libutil/json.cc2
-rw-r--r--third_party/nix/src/libutil/pool.hh4
-rw-r--r--third_party/nix/src/libutil/serialise.cc7
-rw-r--r--third_party/nix/src/libutil/serialise.hh4
-rw-r--r--third_party/nix/src/libutil/thread-pool.cc7
-rw-r--r--third_party/nix/src/libutil/thread-pool.hh4
-rw-r--r--third_party/nix/src/libutil/types.hh2
-rw-r--r--third_party/nix/src/libutil/util.cc15
-rw-r--r--third_party/nix/src/libutil/util.hh2
-rw-r--r--third_party/nix/src/libutil/xml-writer.cc2
-rw-r--r--third_party/nix/src/nix-build/nix-build.cc24
-rw-r--r--third_party/nix/src/nix-channel/nix-channel.cc10
-rw-r--r--third_party/nix/src/nix-collect-garbage/nix-collect-garbage.cc10
-rw-r--r--third_party/nix/src/nix-copy-closure/nix-copy-closure.cc6
-rw-r--r--third_party/nix/src/nix-daemon/nix-daemon.cc24
-rw-r--r--third_party/nix/src/nix-env/nix-env.cc32
-rw-r--r--third_party/nix/src/nix-env/user-env.cc18
-rw-r--r--third_party/nix/src/nix-env/user-env.hh2
-rw-r--r--third_party/nix/src/nix-instantiate/nix-instantiate.cc24
-rw-r--r--third_party/nix/src/nix-prefetch-url/nix-prefetch-url.cc20
-rw-r--r--third_party/nix/src/nix-store/dotgraph.cc6
-rw-r--r--third_party/nix/src/nix-store/dotgraph.hh2
-rw-r--r--third_party/nix/src/nix-store/graphml.cc8
-rw-r--r--third_party/nix/src/nix-store/graphml.hh2
-rw-r--r--third_party/nix/src/nix-store/nix-store.cc24
-rw-r--r--third_party/nix/src/nix/add-to-store.cc8
-rw-r--r--third_party/nix/src/nix/build.cc8
-rw-r--r--third_party/nix/src/nix/cat.cc8
-rw-r--r--third_party/nix/src/nix/command.cc6
-rw-r--r--third_party/nix/src/nix/command.hh4
-rw-r--r--third_party/nix/src/nix/copy.cc10
-rw-r--r--third_party/nix/src/nix/doctor.cc10
-rw-r--r--third_party/nix/src/nix/dump-path.cc4
-rw-r--r--third_party/nix/src/nix/edit.cc8
-rw-r--r--third_party/nix/src/nix/eval.cc16
-rw-r--r--third_party/nix/src/nix/hash.cc8
-rw-r--r--third_party/nix/src/nix/installables.cc18
-rw-r--r--third_party/nix/src/nix/legacy.cc2
-rw-r--r--third_party/nix/src/nix/log.cc8
-rw-r--r--third_party/nix/src/nix/ls.cc12
-rw-r--r--third_party/nix/src/nix/main.cc20
-rw-r--r--third_party/nix/src/nix/optimise-store.cc6
-rw-r--r--third_party/nix/src/nix/path-info.cc10
-rw-r--r--third_party/nix/src/nix/ping-store.cc6
-rw-r--r--third_party/nix/src/nix/repl.cc22
-rw-r--r--third_party/nix/src/nix/run.cc18
-rw-r--r--third_party/nix/src/nix/search.cc20
-rw-r--r--third_party/nix/src/nix/show-config.cc10
-rw-r--r--third_party/nix/src/nix/show-derivation.cc12
-rw-r--r--third_party/nix/src/nix/sigs.cc8
-rw-r--r--third_party/nix/src/nix/upgrade-nix.cc14
-rw-r--r--third_party/nix/src/nix/verify.cc10
-rw-r--r--third_party/nix/src/nix/why-depends.cc8
-rw-r--r--third_party/nix/tests/plugins/plugintest.cc2
159 files changed, 661 insertions, 656 deletions
diff --git a/third_party/nix/src/build-remote/build-remote.cc b/third_party/nix/src/build-remote/build-remote.cc
index 6bca30a5a1..2c7e6dbab8 100644
--- a/third_party/nix/src/build-remote/build-remote.cc
+++ b/third_party/nix/src/build-remote/build-remote.cc
@@ -11,15 +11,15 @@
 #include <absl/strings/str_cat.h>
 #include <glog/logging.h>
 
-#include "derivations.hh"
-#include "globals.hh"
-#include "legacy.hh"
-#include "local-store.hh"
-#include "machines.hh"
-#include "pathlocks.hh"
-#include "serialise.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/local-store.hh"
+#include "libstore/machines.hh"
+#include "libstore/pathlocks.hh"
+#include "libstore/store-api.hh"
+#include "libutil/serialise.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 using std::cin;
diff --git a/third_party/nix/src/libexpr/attr-path.cc b/third_party/nix/src/libexpr/attr-path.cc
index 5f14fca214..e366f18575 100644
--- a/third_party/nix/src/libexpr/attr-path.cc
+++ b/third_party/nix/src/libexpr/attr-path.cc
@@ -1,9 +1,9 @@
-#include "attr-path.hh"
+#include "libexpr/attr-path.hh"
 
 #include <absl/strings/numbers.h>
 
-#include "eval-inline.hh"
-#include "util.hh"
+#include "libexpr/eval-inline.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/attr-path.hh b/third_party/nix/src/libexpr/attr-path.hh
index 889c2158d7..a71ceb9a06 100644
--- a/third_party/nix/src/libexpr/attr-path.hh
+++ b/third_party/nix/src/libexpr/attr-path.hh
@@ -3,7 +3,7 @@
 #include <map>
 #include <string>
 
-#include "eval.hh"
+#include "libexpr/eval.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/attr-set.cc b/third_party/nix/src/libexpr/attr-set.cc
index 6310cc66b7..c5355a69c5 100644
--- a/third_party/nix/src/libexpr/attr-set.cc
+++ b/third_party/nix/src/libexpr/attr-set.cc
@@ -1,4 +1,4 @@
-#include "attr-set.hh"
+#include "libexpr/attr-set.hh"
 
 #include <new>
 
@@ -6,7 +6,7 @@
 #include <gc/gc_cpp.h>
 #include <glog/logging.h>
 
-#include "eval-inline.hh"
+#include "libexpr/eval-inline.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/attr-set.hh b/third_party/nix/src/libexpr/attr-set.hh
index 37e6d5e1ca..ff13e9a7fa 100644
--- a/third_party/nix/src/libexpr/attr-set.hh
+++ b/third_party/nix/src/libexpr/attr-set.hh
@@ -4,9 +4,9 @@
 #include <absl/container/btree_map.h>
 #include <gc/gc_allocator.h>
 
-#include "nixexpr.hh"
-#include "symbol-table.hh"
-#include "types.hh"
+#include "libexpr/nixexpr.hh"
+#include "libexpr/symbol-table.hh"
+#include "libutil/types.hh"
 
 namespace nix {  // TODO(tazjin): ::expr
 
diff --git a/third_party/nix/src/libexpr/common-eval-args.cc b/third_party/nix/src/libexpr/common-eval-args.cc
index 19271f2cc5..fe8a6a02af 100644
--- a/third_party/nix/src/libexpr/common-eval-args.cc
+++ b/third_party/nix/src/libexpr/common-eval-args.cc
@@ -1,9 +1,9 @@
-#include "common-eval-args.hh"
+#include "libexpr/common-eval-args.hh"
 
-#include "download.hh"
-#include "eval.hh"
-#include "shared.hh"
-#include "util.hh"
+#include "libexpr/eval.hh"
+#include "libmain/shared.hh"
+#include "libstore/download.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/common-eval-args.hh b/third_party/nix/src/libexpr/common-eval-args.hh
index dad30daf6b..be7126c039 100644
--- a/third_party/nix/src/libexpr/common-eval-args.hh
+++ b/third_party/nix/src/libexpr/common-eval-args.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "args.hh"
+#include "libutil/args.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/eval-inline.hh b/third_party/nix/src/libexpr/eval-inline.hh
index ca0cf2a360..5162ab3971 100644
--- a/third_party/nix/src/libexpr/eval-inline.hh
+++ b/third_party/nix/src/libexpr/eval-inline.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "eval.hh"
+#include "libexpr/eval.hh"
 
 #define LocalNoInline(f)              \
   static f __attribute__((noinline)); \
diff --git a/third_party/nix/src/libexpr/eval.cc b/third_party/nix/src/libexpr/eval.cc
index ca2b65203f..91dff6b40d 100644
--- a/third_party/nix/src/libexpr/eval.cc
+++ b/third_party/nix/src/libexpr/eval.cc
@@ -1,4 +1,4 @@
-#include "eval.hh"
+#include "libexpr/eval.hh"
 
 #include <algorithm>
 #include <chrono>
@@ -15,15 +15,15 @@
 #include <sys/time.h>
 #include <unistd.h>
 
-#include "derivations.hh"
-#include "download.hh"
-#include "eval-inline.hh"
-#include "function-trace.hh"
-#include "globals.hh"
-#include "hash.hh"
-#include "json.hh"
-#include "store-api.hh"
-#include "util.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/function-trace.hh"
+#include "libstore/derivations.hh"
+#include "libstore/download.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/hash.hh"
+#include "libutil/json.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/eval.hh b/third_party/nix/src/libexpr/eval.hh
index f13e8553d1..9e4e500b47 100644
--- a/third_party/nix/src/libexpr/eval.hh
+++ b/third_party/nix/src/libexpr/eval.hh
@@ -4,12 +4,12 @@
 #include <optional>
 #include <unordered_map>
 
-#include "attr-set.hh"
-#include "config.hh"
-#include "hash.hh"
-#include "nixexpr.hh"
-#include "symbol-table.hh"
-#include "value.hh"
+#include "libexpr/attr-set.hh"
+#include "libexpr/nixexpr.hh"
+#include "libexpr/symbol-table.hh"
+#include "libexpr/value.hh"
+#include "libutil/config.hh"
+#include "libutil/hash.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/function-trace.cc b/third_party/nix/src/libexpr/function-trace.cc
index 8b0d60fab8..b1b856965c 100644
--- a/third_party/nix/src/libexpr/function-trace.cc
+++ b/third_party/nix/src/libexpr/function-trace.cc
@@ -1,4 +1,4 @@
-#include "function-trace.hh"
+#include "libexpr/function-trace.hh"
 
 #include <glog/logging.h>
 
diff --git a/third_party/nix/src/libexpr/function-trace.hh b/third_party/nix/src/libexpr/function-trace.hh
index 93d70862ed..6b810159b8 100644
--- a/third_party/nix/src/libexpr/function-trace.hh
+++ b/third_party/nix/src/libexpr/function-trace.hh
@@ -2,7 +2,7 @@
 
 #include <chrono>
 
-#include "eval.hh"
+#include "libexpr/eval.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/get-drvs.cc b/third_party/nix/src/libexpr/get-drvs.cc
index 968108e78c..875c8ca2a0 100644
--- a/third_party/nix/src/libexpr/get-drvs.cc
+++ b/third_party/nix/src/libexpr/get-drvs.cc
@@ -1,4 +1,4 @@
-#include "get-drvs.hh"
+#include "libexpr/get-drvs.hh"
 
 #include <cstring>
 #include <regex>
@@ -7,9 +7,9 @@
 #include <absl/strings/numbers.h>
 #include <glog/logging.h>
 
-#include "derivations.hh"
-#include "eval-inline.hh"
-#include "util.hh"
+#include "libexpr/eval-inline.hh"
+#include "libstore/derivations.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/get-drvs.hh b/third_party/nix/src/libexpr/get-drvs.hh
index a0840ee9b2..bb20c32c0b 100644
--- a/third_party/nix/src/libexpr/get-drvs.hh
+++ b/third_party/nix/src/libexpr/get-drvs.hh
@@ -3,7 +3,7 @@
 #include <map>
 #include <string>
 
-#include "eval.hh"
+#include "libexpr/eval.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/json-to-value.cc b/third_party/nix/src/libexpr/json-to-value.cc
index d46e6f268e..4411b411f2 100644
--- a/third_party/nix/src/libexpr/json-to-value.cc
+++ b/third_party/nix/src/libexpr/json-to-value.cc
@@ -1,4 +1,4 @@
-#include "json-to-value.hh"
+#include "libexpr/json-to-value.hh"
 
 #include <cstring>
 
diff --git a/third_party/nix/src/libexpr/json-to-value.hh b/third_party/nix/src/libexpr/json-to-value.hh
index f416dfbb38..041a4c5965 100644
--- a/third_party/nix/src/libexpr/json-to-value.hh
+++ b/third_party/nix/src/libexpr/json-to-value.hh
@@ -2,7 +2,7 @@
 
 #include <string>
 
-#include "eval.hh"
+#include "libexpr/eval.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/lexer.l b/third_party/nix/src/libexpr/lexer.l
index 9cdb2bd97e..be5fe4a78f 100644
--- a/third_party/nix/src/libexpr/lexer.l
+++ b/third_party/nix/src/libexpr/lexer.l
@@ -14,8 +14,8 @@
 %{
 #include <boost/lexical_cast.hpp>
 
-#include "nixexpr.hh"
-#include "parser-tab.hh"
+#include "libexpr/nixexpr.hh"
+#include "generated/parser-tab.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/libexpr/names.cc b/third_party/nix/src/libexpr/names.cc
index 769f9e99db..1e9c2f2f4a 100644
--- a/third_party/nix/src/libexpr/names.cc
+++ b/third_party/nix/src/libexpr/names.cc
@@ -1,10 +1,10 @@
-#include "names.hh"
+#include "libexpr/names.hh"
 
 #include <memory>
 
 #include <absl/strings/numbers.h>
 
-#include "util.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/names.hh b/third_party/nix/src/libexpr/names.hh
index 521740152c..061388d517 100644
--- a/third_party/nix/src/libexpr/names.hh
+++ b/third_party/nix/src/libexpr/names.hh
@@ -3,7 +3,7 @@
 #include <memory>
 #include <regex>
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/nixexpr.cc b/third_party/nix/src/libexpr/nixexpr.cc
index ef4a75ed8d..28d8eee7a7 100644
--- a/third_party/nix/src/libexpr/nixexpr.cc
+++ b/third_party/nix/src/libexpr/nixexpr.cc
@@ -1,9 +1,9 @@
-#include "nixexpr.hh"
+#include "libexpr/nixexpr.hh"
 
 #include <cstdlib>
 
-#include "derivations.hh"
-#include "util.hh"
+#include "libstore/derivations.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/nixexpr.hh b/third_party/nix/src/libexpr/nixexpr.hh
index 8817fbc9dd..0bf5245181 100644
--- a/third_party/nix/src/libexpr/nixexpr.hh
+++ b/third_party/nix/src/libexpr/nixexpr.hh
@@ -2,9 +2,9 @@
 
 #include <map>
 
-#include "symbol-table.hh"
-#include "types.hh"  // TODO(tazjin): audit this include
-#include "value.hh"
+#include "libexpr/symbol-table.hh"
+#include "libexpr/value.hh"
+#include "libutil/types.hh"  // TODO(tazjin): audit this include
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/parser.y b/third_party/nix/src/libexpr/parser.y
index 9ba053ee7b..fe8759f3c6 100644
--- a/third_party/nix/src/libexpr/parser.y
+++ b/third_party/nix/src/libexpr/parser.y
@@ -16,9 +16,9 @@
 #ifndef BISON_HEADER
 #define BISON_HEADER
 
-#include "util.hh"
-#include "nixexpr.hh"
-#include "eval.hh"
+#include "libutil/util.hh"
+#include "libexpr/nixexpr.hh"
+#include "libexpr/eval.hh"
 #include <glog/logging.h>
 
 namespace nix {
@@ -50,8 +50,8 @@ namespace nix {
 
 %{
 
-#include "parser-tab.hh"
-#include "lexer-tab.hh"
+#include "generated/parser-tab.hh"
+#include "generated/lexer-tab.hh"
 
 YY_DECL;
 
@@ -539,9 +539,9 @@ formal
 #include <fcntl.h>
 #include <unistd.h>
 
-#include "eval.hh"
-#include "download.hh"
-#include "store-api.hh"
+#include "libexpr/eval.hh"
+#include "libstore/download.hh"
+#include "libstore/store-api.hh"
 
 
 namespace nix {
diff --git a/third_party/nix/src/libexpr/primops.cc b/third_party/nix/src/libexpr/primops.cc
index 8ade52bd91..67a8a03ab0 100644
--- a/third_party/nix/src/libexpr/primops.cc
+++ b/third_party/nix/src/libexpr/primops.cc
@@ -1,4 +1,4 @@
-#include "primops.hh"
+#include "libexpr/primops.hh"
 
 #include <algorithm>
 #include <cstring>
@@ -11,19 +11,19 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "archive.hh"
-#include "derivations.hh"
-#include "download.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "globals.hh"
-#include "json-to-value.hh"
-#include "json.hh"
-#include "names.hh"
-#include "store-api.hh"
-#include "util.hh"
-#include "value-to-json.hh"
-#include "value-to-xml.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/json-to-value.hh"
+#include "libexpr/names.hh"
+#include "libexpr/value-to-json.hh"
+#include "libexpr/value-to-xml.hh"
+#include "libstore/derivations.hh"
+#include "libstore/download.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/archive.hh"
+#include "libutil/json.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/primops.hh b/third_party/nix/src/libexpr/primops.hh
index 6abd0508a0..ad646e4d0b 100644
--- a/third_party/nix/src/libexpr/primops.hh
+++ b/third_party/nix/src/libexpr/primops.hh
@@ -1,7 +1,7 @@
 #include <tuple>
 #include <vector>
 
-#include "eval.hh"
+#include "libexpr/eval.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/primops/context.cc b/third_party/nix/src/libexpr/primops/context.cc
index 481a2910bf..3a39e03eab 100644
--- a/third_party/nix/src/libexpr/primops/context.cc
+++ b/third_party/nix/src/libexpr/primops/context.cc
@@ -1,6 +1,6 @@
-#include "derivations.hh"
-#include "eval-inline.hh"
-#include "primops.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/primops.hh"
+#include "libstore/derivations.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/primops/fetchGit.cc b/third_party/nix/src/libexpr/primops/fetchGit.cc
index 2cfdefe7ab..7262a29155 100644
--- a/third_party/nix/src/libexpr/primops/fetchGit.cc
+++ b/third_party/nix/src/libexpr/primops/fetchGit.cc
@@ -7,12 +7,12 @@
 #include <glog/logging.h>
 #include <sys/time.h>
 
-#include "download.hh"
-#include "eval-inline.hh"
-#include "hash.hh"
-#include "pathlocks.hh"
-#include "primops.hh"
-#include "store-api.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/primops.hh"
+#include "libstore/download.hh"
+#include "libstore/pathlocks.hh"
+#include "libstore/store-api.hh"
+#include "libutil/hash.hh"
 
 using namespace std::string_literals;
 
diff --git a/third_party/nix/src/libexpr/primops/fetchMercurial.cc b/third_party/nix/src/libexpr/primops/fetchMercurial.cc
index 71722faedf..3ece094e6a 100644
--- a/third_party/nix/src/libexpr/primops/fetchMercurial.cc
+++ b/third_party/nix/src/libexpr/primops/fetchMercurial.cc
@@ -7,11 +7,11 @@
 #include <glog/logging.h>
 #include <sys/time.h>
 
-#include "download.hh"
-#include "eval-inline.hh"
-#include "pathlocks.hh"
-#include "primops.hh"
-#include "store-api.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/primops.hh"
+#include "libstore/download.hh"
+#include "libstore/pathlocks.hh"
+#include "libstore/store-api.hh"
 
 using namespace std::string_literals;
 
diff --git a/third_party/nix/src/libexpr/primops/fromTOML.cc b/third_party/nix/src/libexpr/primops/fromTOML.cc
index cc7b3cfcc3..66e2e1b409 100644
--- a/third_party/nix/src/libexpr/primops/fromTOML.cc
+++ b/third_party/nix/src/libexpr/primops/fromTOML.cc
@@ -1,6 +1,6 @@
 #include "cpptoml/cpptoml.h"
-#include "eval-inline.hh"
-#include "primops.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/primops.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/symbol-table.cc b/third_party/nix/src/libexpr/symbol-table.cc
index 6abaedc517..2b27ca54c2 100644
--- a/third_party/nix/src/libexpr/symbol-table.cc
+++ b/third_party/nix/src/libexpr/symbol-table.cc
@@ -1,4 +1,4 @@
-#include "symbol-table.hh"
+#include "libexpr/symbol-table.hh"
 
 #include <absl/container/node_hash_set.h>
 #include <absl/strings/string_view.h>
diff --git a/third_party/nix/src/libexpr/value-to-json.cc b/third_party/nix/src/libexpr/value-to-json.cc
index 0b641a41b5..a51a1cee30 100644
--- a/third_party/nix/src/libexpr/value-to-json.cc
+++ b/third_party/nix/src/libexpr/value-to-json.cc
@@ -1,11 +1,11 @@
-#include "value-to-json.hh"
+#include "libexpr/value-to-json.hh"
 
 #include <cstdlib>
 #include <iomanip>
 
-#include "eval-inline.hh"
-#include "json.hh"
-#include "util.hh"
+#include "libexpr/eval-inline.hh"
+#include "libutil/json.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/value-to-json.hh b/third_party/nix/src/libexpr/value-to-json.hh
index 6ec36c829d..294d776045 100644
--- a/third_party/nix/src/libexpr/value-to-json.hh
+++ b/third_party/nix/src/libexpr/value-to-json.hh
@@ -3,8 +3,8 @@
 #include <map>
 #include <string>
 
-#include "eval.hh"
-#include "nixexpr.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/nixexpr.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/value-to-xml.cc b/third_party/nix/src/libexpr/value-to-xml.cc
index 149bf764f0..2a46ac84be 100644
--- a/third_party/nix/src/libexpr/value-to-xml.cc
+++ b/third_party/nix/src/libexpr/value-to-xml.cc
@@ -1,10 +1,10 @@
-#include "value-to-xml.hh"
+#include "libexpr/value-to-xml.hh"
 
 #include <cstdlib>
 
-#include "eval-inline.hh"
-#include "util.hh"
-#include "xml-writer.hh"
+#include "libexpr/eval-inline.hh"
+#include "libutil/util.hh"
+#include "libutil/xml-writer.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/value-to-xml.hh b/third_party/nix/src/libexpr/value-to-xml.hh
index e7749dd7ae..18c5279236 100644
--- a/third_party/nix/src/libexpr/value-to-xml.hh
+++ b/third_party/nix/src/libexpr/value-to-xml.hh
@@ -3,8 +3,8 @@
 #include <map>
 #include <string>
 
-#include "eval.hh"
-#include "nixexpr.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/nixexpr.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libexpr/value.hh b/third_party/nix/src/libexpr/value.hh
index 1f20a440d9..01b9fd3a21 100644
--- a/third_party/nix/src/libexpr/value.hh
+++ b/third_party/nix/src/libexpr/value.hh
@@ -1,11 +1,9 @@
 #pragma once
 
-#include "symbol-table.hh"
-#include "types.hh"
-
-#if HAVE_BOEHMGC
 #include <gc/gc_allocator.h>
-#endif
+
+#include "libexpr/symbol-table.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libmain/common-args.cc b/third_party/nix/src/libmain/common-args.cc
index f85eadbf70..0000605d45 100644
--- a/third_party/nix/src/libmain/common-args.cc
+++ b/third_party/nix/src/libmain/common-args.cc
@@ -1,8 +1,8 @@
-#include "common-args.hh"
+#include "libmain/common-args.hh"
 
 #include <glog/logging.h>
 
-#include "globals.hh"
+#include "libstore/globals.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libmain/common-args.hh b/third_party/nix/src/libmain/common-args.hh
index 88b51047df..f1c7c84813 100644
--- a/third_party/nix/src/libmain/common-args.hh
+++ b/third_party/nix/src/libmain/common-args.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "args.hh"
+#include "libutil/args.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libmain/shared.cc b/third_party/nix/src/libmain/shared.cc
index 549134872e..3cbf59c887 100644
--- a/third_party/nix/src/libmain/shared.cc
+++ b/third_party/nix/src/libmain/shared.cc
@@ -1,4 +1,4 @@
-#include "shared.hh"
+#include "libmain/shared.hh"
 
 #include <algorithm>
 #include <cctype>
@@ -15,9 +15,9 @@
 #include <sys/time.h>
 #include <unistd.h>
 
-#include "globals.hh"
-#include "store-api.hh"
-#include "util.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libmain/shared.hh b/third_party/nix/src/libmain/shared.hh
index 60d7918931..b749b572c5 100644
--- a/third_party/nix/src/libmain/shared.hh
+++ b/third_party/nix/src/libmain/shared.hh
@@ -5,9 +5,9 @@
 #include <absl/strings/numbers.h>
 #include <signal.h>
 
-#include "args.hh"
-#include "common-args.hh"
-#include "util.hh"
+#include "libmain/common-args.hh"
+#include "libutil/args.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libmain/stack.cc b/third_party/nix/src/libmain/stack.cc
index f100b39156..c7744f69c8 100644
--- a/third_party/nix/src/libmain/stack.cc
+++ b/third_party/nix/src/libmain/stack.cc
@@ -5,7 +5,7 @@
 
 #include <unistd.h>
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/binary-cache-store.cc b/third_party/nix/src/libstore/binary-cache-store.cc
index f631c9dee2..b862ea0058 100644
--- a/third_party/nix/src/libstore/binary-cache-store.cc
+++ b/third_party/nix/src/libstore/binary-cache-store.cc
@@ -1,4 +1,4 @@
-#include "binary-cache-store.hh"
+#include "libstore/binary-cache-store.hh"
 
 #include <chrono>
 #include <future>
@@ -7,19 +7,19 @@
 #include <absl/strings/ascii.h>
 #include <absl/strings/numbers.h>
 #include <absl/strings/str_split.h>
-
-#include "archive.hh"
-#include "compression.hh"
-#include "derivations.hh"
-#include "fs-accessor.hh"
-#include "globals.hh"
-#include "glog/logging.h"
-#include "json.hh"
-#include "nar-accessor.hh"
-#include "nar-info-disk-cache.hh"
-#include "nar-info.hh"
-#include "remote-fs-accessor.hh"
-#include "sync.hh"
+#include <glog/logging.h>
+
+#include "libstore/derivations.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/globals.hh"
+#include "libstore/nar-accessor.hh"
+#include "libstore/nar-info-disk-cache.hh"
+#include "libstore/nar-info.hh"
+#include "libstore/remote-fs-accessor.hh"
+#include "libutil/archive.hh"
+#include "libutil/compression.hh"
+#include "libutil/json.hh"
+#include "libutil/sync.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/binary-cache-store.hh b/third_party/nix/src/libstore/binary-cache-store.hh
index b8e1ccabf2..0b788152f0 100644
--- a/third_party/nix/src/libstore/binary-cache-store.hh
+++ b/third_party/nix/src/libstore/binary-cache-store.hh
@@ -2,9 +2,9 @@
 
 #include <atomic>
 
-#include "crypto.hh"
-#include "pool.hh"
-#include "store-api.hh"
+#include "libstore/crypto.hh"
+#include "libstore/store-api.hh"
+#include "libutil/pool.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/build.cc b/third_party/nix/src/libstore/build.cc
index a60f5ef173..0b4bce1820 100644
--- a/third_party/nix/src/libstore/build.cc
+++ b/third_party/nix/src/libstore/build.cc
@@ -17,6 +17,7 @@
 #include <absl/strings/numbers.h>
 #include <absl/strings/str_split.h>
 #include <fcntl.h>
+#include <glog/logging.h>
 #include <grp.h>
 #include <netdb.h>
 #include <pwd.h>
@@ -31,22 +32,21 @@
 #include <termios.h>
 #include <unistd.h>
 
-#include "affinity.hh"
-#include "archive.hh"
-#include "builtins.hh"
-#include "compression.hh"
-#include "download.hh"
-#include "finally.hh"
-#include "globals.hh"
-#include "glog/logging.h"
-#include "json.hh"
-#include "local-store.hh"
-#include "machines.hh"
-#include "nar-info.hh"
-#include "parsed-derivations.hh"
-#include "pathlocks.hh"
-#include "references.hh"
-#include "util.hh"
+#include "libstore/builtins.hh"
+#include "libstore/download.hh"
+#include "libstore/globals.hh"
+#include "libstore/local-store.hh"
+#include "libstore/machines.hh"
+#include "libstore/nar-info.hh"
+#include "libstore/parsed-derivations.hh"
+#include "libstore/pathlocks.hh"
+#include "libstore/references.hh"
+#include "libutil/affinity.hh"
+#include "libutil/archive.hh"
+#include "libutil/compression.hh"
+#include "libutil/finally.hh"
+#include "libutil/json.hh"
+#include "libutil/util.hh"
 
 /* Includes required for chroot support. */
 #if __linux__
diff --git a/third_party/nix/src/libstore/builtins.hh b/third_party/nix/src/libstore/builtins.hh
index 07601be0f5..bc53e78ebc 100644
--- a/third_party/nix/src/libstore/builtins.hh
+++ b/third_party/nix/src/libstore/builtins.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "derivations.hh"
+#include "libstore/derivations.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/builtins/buildenv.cc b/third_party/nix/src/libstore/builtins/buildenv.cc
index db093663bf..95f915227b 100644
--- a/third_party/nix/src/libstore/builtins/buildenv.cc
+++ b/third_party/nix/src/libstore/builtins/buildenv.cc
@@ -7,7 +7,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "builtins.hh"
+#include "libstore/builtins.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/builtins/fetchurl.cc b/third_party/nix/src/libstore/builtins/fetchurl.cc
index 90814f6d7f..867a120e8d 100644
--- a/third_party/nix/src/libstore/builtins/fetchurl.cc
+++ b/third_party/nix/src/libstore/builtins/fetchurl.cc
@@ -1,11 +1,11 @@
 #include <absl/strings/match.h>
 #include <glog/logging.h>
 
-#include "archive.hh"
-#include "builtins.hh"
-#include "compression.hh"
-#include "download.hh"
-#include "store-api.hh"
+#include "libstore/builtins.hh"
+#include "libstore/download.hh"
+#include "libstore/store-api.hh"
+#include "libutil/archive.hh"
+#include "libutil/compression.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/crypto.cc b/third_party/nix/src/libstore/crypto.cc
index eb5bb66707..62b3c05ff9 100644
--- a/third_party/nix/src/libstore/crypto.cc
+++ b/third_party/nix/src/libstore/crypto.cc
@@ -1,7 +1,7 @@
-#include "crypto.hh"
+#include "libstore/crypto.hh"
 
-#include "globals.hh"
-#include "util.hh"
+#include "libstore/globals.hh"
+#include "libutil/util.hh"
 
 #if HAVE_SODIUM
 #include <sodium.h>
diff --git a/third_party/nix/src/libstore/crypto.hh b/third_party/nix/src/libstore/crypto.hh
index ef578db6d0..e282f4f8ef 100644
--- a/third_party/nix/src/libstore/crypto.hh
+++ b/third_party/nix/src/libstore/crypto.hh
@@ -2,7 +2,7 @@
 
 #include <map>
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/derivations.cc b/third_party/nix/src/libstore/derivations.cc
index b2590f5e28..64d1c6a151 100644
--- a/third_party/nix/src/libstore/derivations.cc
+++ b/third_party/nix/src/libstore/derivations.cc
@@ -1,15 +1,15 @@
-#include "derivations.hh"
+#include "libstore/derivations.hh"
 
 #include <absl/strings/match.h>
 #include <absl/strings/str_split.h>
 #include <absl/strings/string_view.h>
 
-#include "fs-accessor.hh"
-#include "globals.hh"
-#include "istringstream_nocopy.hh"
-#include "store-api.hh"
-#include "util.hh"
-#include "worker-protocol.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/istringstream_nocopy.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/derivations.hh b/third_party/nix/src/libstore/derivations.hh
index 170f09804d..7574aa90c2 100644
--- a/third_party/nix/src/libstore/derivations.hh
+++ b/third_party/nix/src/libstore/derivations.hh
@@ -2,9 +2,9 @@
 
 #include <map>
 
-#include "hash.hh"
-#include "store-api.hh"
-#include "types.hh"
+#include "libstore/store-api.hh"
+#include "libutil/hash.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/download.cc b/third_party/nix/src/libstore/download.cc
index 92a6308728..f30642d69d 100644
--- a/third_party/nix/src/libstore/download.cc
+++ b/third_party/nix/src/libstore/download.cc
@@ -1,19 +1,19 @@
-#include "download.hh"
+#include "libstore/download.hh"
 
 #include <absl/strings/ascii.h>
 #include <absl/strings/match.h>
 #include <absl/strings/numbers.h>
 #include <absl/strings/str_split.h>
 
-#include "archive.hh"
-#include "compression.hh"
-#include "finally.hh"
-#include "globals.hh"
-#include "hash.hh"
-#include "pathlocks.hh"
-#include "s3.hh"
-#include "store-api.hh"
-#include "util.hh"
+#include "libstore/globals.hh"
+#include "libstore/pathlocks.hh"
+#include "libstore/s3.hh"
+#include "libstore/store-api.hh"
+#include "libutil/archive.hh"
+#include "libutil/compression.hh"
+#include "libutil/finally.hh"
+#include "libutil/hash.hh"
+#include "libutil/util.hh"
 
 #ifdef ENABLE_S3
 #include <aws/core/client/ClientConfiguration.h>
diff --git a/third_party/nix/src/libstore/download.hh b/third_party/nix/src/libstore/download.hh
index a988ec6826..cbfab5f40d 100644
--- a/third_party/nix/src/libstore/download.hh
+++ b/third_party/nix/src/libstore/download.hh
@@ -3,9 +3,9 @@
 #include <future>
 #include <string>
 
-#include "globals.hh"
-#include "hash.hh"
-#include "types.hh"
+#include "libstore/globals.hh"
+#include "libutil/hash.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/export-import.cc b/third_party/nix/src/libstore/export-import.cc
index 077b0d5390..8e93144339 100644
--- a/third_party/nix/src/libstore/export-import.cc
+++ b/third_party/nix/src/libstore/export-import.cc
@@ -1,8 +1,8 @@
 #include <algorithm>
 
-#include "archive.hh"
-#include "store-api.hh"
-#include "worker-protocol.hh"
+#include "libstore/store-api.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/archive.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/fs-accessor.hh b/third_party/nix/src/libstore/fs-accessor.hh
index ad0d7f0ed9..1bc1373dcb 100644
--- a/third_party/nix/src/libstore/fs-accessor.hh
+++ b/third_party/nix/src/libstore/fs-accessor.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/gc.cc b/third_party/nix/src/libstore/gc.cc
index 5c1ea3d58b..9a6d97eb73 100644
--- a/third_party/nix/src/libstore/gc.cc
+++ b/third_party/nix/src/libstore/gc.cc
@@ -9,16 +9,16 @@
 #include <absl/strings/match.h>
 #include <absl/strings/str_split.h>
 #include <fcntl.h>
+#include <glog/logging.h>
 #include <sys/stat.h>
 #include <sys/statvfs.h>
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "derivations.hh"
-#include "finally.hh"
-#include "globals.hh"
-#include "glog/logging.h"
-#include "local-store.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/local-store.hh"
+#include "libutil/finally.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/globals.cc b/third_party/nix/src/libstore/globals.cc
index f218534cc9..dccf8d9815 100644
--- a/third_party/nix/src/libstore/globals.cc
+++ b/third_party/nix/src/libstore/globals.cc
@@ -1,4 +1,4 @@
-#include "globals.hh"
+#include "libstore/globals.hh"
 
 #include <algorithm>
 #include <map>
@@ -9,9 +9,10 @@
 #include <absl/strings/str_split.h>
 #include <dlfcn.h>
 
-#include "archive.hh"
-#include "args.hh"
-#include "util.hh"
+#include "libutil/archive.hh"
+#include "libutil/args.hh"
+#include "libutil/util.hh"
+#include "nix_config.h"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/globals.hh b/third_party/nix/src/libstore/globals.hh
index feff548790..567ec6c42b 100644
--- a/third_party/nix/src/libstore/globals.hh
+++ b/third_party/nix/src/libstore/globals.hh
@@ -5,9 +5,10 @@
 
 #include <sys/types.h>
 
-#include "config.hh"
-#include "types.hh"
-#include "util.hh"
+#include "libutil/config.hh"
+#include "libutil/types.hh"
+#include "libutil/util.hh"
+#include "nix_config.h"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/http-binary-cache-store.cc b/third_party/nix/src/libstore/http-binary-cache-store.cc
index c75d5f2860..8ab07033b1 100644
--- a/third_party/nix/src/libstore/http-binary-cache-store.cc
+++ b/third_party/nix/src/libstore/http-binary-cache-store.cc
@@ -2,10 +2,10 @@
 
 #include <glog/logging.h>
 
-#include "binary-cache-store.hh"
-#include "download.hh"
-#include "globals.hh"
-#include "nar-info-disk-cache.hh"
+#include "libstore/binary-cache-store.hh"
+#include "libstore/download.hh"
+#include "libstore/globals.hh"
+#include "libstore/nar-info-disk-cache.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/legacy-ssh-store.cc b/third_party/nix/src/libstore/legacy-ssh-store.cc
index 9e6870f0da..332f6676b2 100644
--- a/third_party/nix/src/libstore/legacy-ssh-store.cc
+++ b/third_party/nix/src/libstore/legacy-ssh-store.cc
@@ -1,12 +1,13 @@
-#include "archive.hh"
-#include "derivations.hh"
-#include "glog/logging.h"
-#include "pool.hh"
-#include "remote-store.hh"
-#include "serve-protocol.hh"
-#include "ssh.hh"
-#include "store-api.hh"
-#include "worker-protocol.hh"
+#include <glog/logging.h>
+
+#include "libstore/derivations.hh"
+#include "libstore/remote-store.hh"
+#include "libstore/serve-protocol.hh"
+#include "libstore/ssh.hh"
+#include "libstore/store-api.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/archive.hh"
+#include "libutil/pool.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/local-binary-cache-store.cc b/third_party/nix/src/libstore/local-binary-cache-store.cc
index 88dd19a320..4555de5047 100644
--- a/third_party/nix/src/libstore/local-binary-cache-store.cc
+++ b/third_party/nix/src/libstore/local-binary-cache-store.cc
@@ -2,9 +2,9 @@
 
 #include <absl/strings/match.h>
 
-#include "binary-cache-store.hh"
-#include "globals.hh"
-#include "nar-info-disk-cache.hh"
+#include "libstore/binary-cache-store.hh"
+#include "libstore/globals.hh"
+#include "libstore/nar-info-disk-cache.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/local-fs-store.cc b/third_party/nix/src/libstore/local-fs-store.cc
index f11c84b182..2dd09093d5 100644
--- a/third_party/nix/src/libstore/local-fs-store.cc
+++ b/third_party/nix/src/libstore/local-fs-store.cc
@@ -1,9 +1,9 @@
-#include "archive.hh"
-#include "compression.hh"
-#include "derivations.hh"
-#include "fs-accessor.hh"
-#include "globals.hh"
-#include "store-api.hh"
+#include "libstore/derivations.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/archive.hh"
+#include "libutil/compression.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/local-store.cc b/third_party/nix/src/libstore/local-store.cc
index ebc9129694..f9d03c520a 100644
--- a/third_party/nix/src/libstore/local-store.cc
+++ b/third_party/nix/src/libstore/local-store.cc
@@ -1,4 +1,4 @@
-#include "local-store.hh"
+#include "libstore/local-store.hh"
 
 #include <algorithm>
 #include <cerrno>
@@ -25,12 +25,13 @@
 #include <unistd.h>
 #include <utime.h>
 
-#include "archive.hh"
-#include "derivations.hh"
-#include "globals.hh"
-#include "nar-info.hh"
-#include "pathlocks.hh"
-#include "worker-protocol.hh"
+#include "generated/schema.sql.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/nar-info.hh"
+#include "libstore/pathlocks.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/archive.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/local-store.hh b/third_party/nix/src/libstore/local-store.hh
index 178cadf92b..7ad9de3a8a 100644
--- a/third_party/nix/src/libstore/local-store.hh
+++ b/third_party/nix/src/libstore/local-store.hh
@@ -7,11 +7,11 @@
 
 #include <absl/strings/str_split.h>
 
-#include "pathlocks.hh"
-#include "sqlite.hh"
-#include "store-api.hh"
-#include "sync.hh"
-#include "util.hh"
+#include "libstore/pathlocks.hh"
+#include "libstore/sqlite.hh"
+#include "libstore/store-api.hh"
+#include "libutil/sync.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/machines.cc b/third_party/nix/src/libstore/machines.cc
index 9ad20a25f8..e5d22c534c 100644
--- a/third_party/nix/src/libstore/machines.cc
+++ b/third_party/nix/src/libstore/machines.cc
@@ -1,4 +1,4 @@
-#include "machines.hh"
+#include "libstore/machines.hh"
 
 #include <algorithm>
 
@@ -8,8 +8,8 @@
 #include <absl/strings/string_view.h>
 #include <glog/logging.h>
 
-#include "globals.hh"
-#include "util.hh"
+#include "libstore/globals.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/machines.hh b/third_party/nix/src/libstore/machines.hh
index 23712e6760..0e72697237 100644
--- a/third_party/nix/src/libstore/machines.hh
+++ b/third_party/nix/src/libstore/machines.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/misc.cc b/third_party/nix/src/libstore/misc.cc
index f95c4bec8b..8a05d55acc 100644
--- a/third_party/nix/src/libstore/misc.cc
+++ b/third_party/nix/src/libstore/misc.cc
@@ -1,11 +1,11 @@
 #include <glog/logging.h>
 
-#include "derivations.hh"
-#include "globals.hh"
-#include "local-store.hh"
-#include "parsed-derivations.hh"
-#include "store-api.hh"
-#include "thread-pool.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/local-store.hh"
+#include "libstore/parsed-derivations.hh"
+#include "libstore/store-api.hh"
+#include "libutil/thread-pool.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/nar-accessor.cc b/third_party/nix/src/libstore/nar-accessor.cc
index 84bfb531ec..49fa1bd1d6 100644
--- a/third_party/nix/src/libstore/nar-accessor.cc
+++ b/third_party/nix/src/libstore/nar-accessor.cc
@@ -1,4 +1,4 @@
-#include "nar-accessor.hh"
+#include "libstore/nar-accessor.hh"
 
 #include <algorithm>
 #include <map>
@@ -6,8 +6,8 @@
 #include <stack>
 #include <utility>
 
-#include "archive.hh"
-#include "json.hh"
+#include "libutil/archive.hh"
+#include "libutil/json.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/nar-accessor.hh b/third_party/nix/src/libstore/nar-accessor.hh
index 8b18d4a36e..0906a4606e 100644
--- a/third_party/nix/src/libstore/nar-accessor.hh
+++ b/third_party/nix/src/libstore/nar-accessor.hh
@@ -2,7 +2,7 @@
 
 #include <functional>
 
-#include "fs-accessor.hh"
+#include "libstore/fs-accessor.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/nar-info-disk-cache.cc b/third_party/nix/src/libstore/nar-info-disk-cache.cc
index 0a7a0dc22c..c98882bff3 100644
--- a/third_party/nix/src/libstore/nar-info-disk-cache.cc
+++ b/third_party/nix/src/libstore/nar-info-disk-cache.cc
@@ -1,13 +1,13 @@
-#include "nar-info-disk-cache.hh"
+#include "libstore/nar-info-disk-cache.hh"
 
 #include <absl/strings/str_cat.h>
 #include <absl/strings/str_split.h>
 #include <glog/logging.h>
 #include <sqlite3.h>
 
-#include "globals.hh"
-#include "sqlite.hh"
-#include "sync.hh"
+#include "libstore/globals.hh"
+#include "libstore/sqlite.hh"
+#include "libutil/sync.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/nar-info-disk-cache.hh b/third_party/nix/src/libstore/nar-info-disk-cache.hh
index 65bb773c92..b4107721aa 100644
--- a/third_party/nix/src/libstore/nar-info-disk-cache.hh
+++ b/third_party/nix/src/libstore/nar-info-disk-cache.hh
@@ -1,7 +1,7 @@
 #pragma once
 
-#include "nar-info.hh"
-#include "ref.hh"
+#include "libstore/nar-info.hh"
+#include "libutil/ref.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/nar-info.cc b/third_party/nix/src/libstore/nar-info.cc
index 1dc0b54cf1..aa764f4a16 100644
--- a/third_party/nix/src/libstore/nar-info.cc
+++ b/third_party/nix/src/libstore/nar-info.cc
@@ -1,9 +1,9 @@
-#include "nar-info.hh"
+#include "libstore/nar-info.hh"
 
 #include <absl/strings/numbers.h>
 #include <absl/strings/str_split.h>
 
-#include "globals.hh"
+#include "libstore/globals.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/nar-info.hh b/third_party/nix/src/libstore/nar-info.hh
index ce362e703f..48eccf8302 100644
--- a/third_party/nix/src/libstore/nar-info.hh
+++ b/third_party/nix/src/libstore/nar-info.hh
@@ -1,8 +1,8 @@
 #pragma once
 
-#include "hash.hh"
-#include "store-api.hh"
-#include "types.hh"
+#include "libstore/store-api.hh"
+#include "libutil/hash.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/optimise-store.cc b/third_party/nix/src/libstore/optimise-store.cc
index 7217d54ca9..eb24633c18 100644
--- a/third_party/nix/src/libstore/optimise-store.cc
+++ b/third_party/nix/src/libstore/optimise-store.cc
@@ -5,14 +5,14 @@
 #include <regex>
 #include <utility>
 
+#include <glog/logging.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "globals.hh"
-#include "glog/logging.h"
-#include "local-store.hh"
-#include "util.hh"
+#include "libstore/globals.hh"
+#include "libstore/local-store.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/parsed-derivations.cc b/third_party/nix/src/libstore/parsed-derivations.cc
index 571f49ad59..9ee93b6a6d 100644
--- a/third_party/nix/src/libstore/parsed-derivations.cc
+++ b/third_party/nix/src/libstore/parsed-derivations.cc
@@ -1,4 +1,4 @@
-#include "parsed-derivations.hh"
+#include "libstore/parsed-derivations.hh"
 
 #include <absl/strings/str_split.h>
 
diff --git a/third_party/nix/src/libstore/parsed-derivations.hh b/third_party/nix/src/libstore/parsed-derivations.hh
index 7b2da3b566..7cd3d36f67 100644
--- a/third_party/nix/src/libstore/parsed-derivations.hh
+++ b/third_party/nix/src/libstore/parsed-derivations.hh
@@ -1,6 +1,6 @@
 #include <nlohmann/json.hpp>
 
-#include "derivations.hh"
+#include "libstore/derivations.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/pathlocks.cc b/third_party/nix/src/libstore/pathlocks.cc
index 642e64a62b..4b153856d2 100644
--- a/third_party/nix/src/libstore/pathlocks.cc
+++ b/third_party/nix/src/libstore/pathlocks.cc
@@ -1,4 +1,4 @@
-#include "pathlocks.hh"
+#include "libstore/pathlocks.hh"
 
 #include <cerrno>
 #include <cstdlib>
@@ -9,8 +9,8 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "sync.hh"
-#include "util.hh"
+#include "libutil/sync.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/pathlocks.hh b/third_party/nix/src/libstore/pathlocks.hh
index 201e3f01b4..d515963e76 100644
--- a/third_party/nix/src/libstore/pathlocks.hh
+++ b/third_party/nix/src/libstore/pathlocks.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "util.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/profiles.cc b/third_party/nix/src/libstore/profiles.cc
index 53e6487995..0d44c60cc4 100644
--- a/third_party/nix/src/libstore/profiles.cc
+++ b/third_party/nix/src/libstore/profiles.cc
@@ -1,4 +1,4 @@
-#include "profiles.hh"
+#include "libstore/profiles.hh"
 
 #include <cerrno>
 #include <cstdio>
@@ -11,8 +11,8 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "store-api.hh"
-#include "util.hh"
+#include "libstore/store-api.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/profiles.hh b/third_party/nix/src/libstore/profiles.hh
index 9f31083b32..ff63990409 100644
--- a/third_party/nix/src/libstore/profiles.hh
+++ b/third_party/nix/src/libstore/profiles.hh
@@ -2,8 +2,8 @@
 
 #include <time.h>
 
-#include "pathlocks.hh"
-#include "types.hh"
+#include "libstore/pathlocks.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/references.cc b/third_party/nix/src/libstore/references.cc
index 6b9b7137c4..ea9ce44275 100644
--- a/third_party/nix/src/libstore/references.cc
+++ b/third_party/nix/src/libstore/references.cc
@@ -1,13 +1,13 @@
-#include "references.hh"
+#include "libstore/references.hh"
 
 #include <cstdlib>
 #include <map>
 
 #include <glog/logging.h>
 
-#include "archive.hh"
-#include "hash.hh"
-#include "util.hh"
+#include "libutil/archive.hh"
+#include "libutil/hash.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/references.hh b/third_party/nix/src/libstore/references.hh
index 2229150e33..94ac5200bd 100644
--- a/third_party/nix/src/libstore/references.hh
+++ b/third_party/nix/src/libstore/references.hh
@@ -1,7 +1,7 @@
 #pragma once
 
-#include "hash.hh"
-#include "types.hh"
+#include "libutil/hash.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/remote-fs-accessor.cc b/third_party/nix/src/libstore/remote-fs-accessor.cc
index ca478c213f..2917f01f79 100644
--- a/third_party/nix/src/libstore/remote-fs-accessor.cc
+++ b/third_party/nix/src/libstore/remote-fs-accessor.cc
@@ -1,11 +1,11 @@
-#include "remote-fs-accessor.hh"
+#include "libstore/remote-fs-accessor.hh"
 
 #include <fcntl.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "json.hh"
-#include "nar-accessor.hh"
+#include "libstore/nar-accessor.hh"
+#include "libutil/json.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/remote-fs-accessor.hh b/third_party/nix/src/libstore/remote-fs-accessor.hh
index 32c729f50d..c4f6e89c97 100644
--- a/third_party/nix/src/libstore/remote-fs-accessor.hh
+++ b/third_party/nix/src/libstore/remote-fs-accessor.hh
@@ -1,8 +1,8 @@
 #pragma once
 
-#include "fs-accessor.hh"
-#include "ref.hh"
-#include "store-api.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/store-api.hh"
+#include "libutil/ref.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/remote-store.cc b/third_party/nix/src/libstore/remote-store.cc
index c5d1dac6cb..5c5038dc41 100644
--- a/third_party/nix/src/libstore/remote-store.cc
+++ b/third_party/nix/src/libstore/remote-store.cc
@@ -1,4 +1,4 @@
-#include "remote-store.hh"
+#include "libstore/remote-store.hh"
 
 #include <cerrno>
 #include <cstring>
@@ -12,16 +12,16 @@
 #include <sys/un.h>
 #include <unistd.h>
 
-#include "affinity.hh"
-#include "archive.hh"
-#include "derivations.hh"
-#include "finally.hh"
-#include "globals.hh"
-#include "pool.hh"
-#include "prefork-compat.hh"
-#include "serialise.hh"
-#include "util.hh"
-#include "worker-protocol.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/affinity.hh"
+#include "libutil/archive.hh"
+#include "libutil/finally.hh"
+#include "libutil/pool.hh"
+#include "libutil/prefork-compat.hh"
+#include "libutil/serialise.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/remote-store.hh b/third_party/nix/src/libstore/remote-store.hh
index e61e72892c..03fbbf000c 100644
--- a/third_party/nix/src/libstore/remote-store.hh
+++ b/third_party/nix/src/libstore/remote-store.hh
@@ -3,7 +3,7 @@
 #include <limits>
 #include <string>
 
-#include "store-api.hh"
+#include "libstore/store-api.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/s3-binary-cache-store.cc b/third_party/nix/src/libstore/s3-binary-cache-store.cc
index d713c5ce01..0c13039b52 100644
--- a/third_party/nix/src/libstore/s3-binary-cache-store.cc
+++ b/third_party/nix/src/libstore/s3-binary-cache-store.cc
@@ -1,6 +1,6 @@
 #if ENABLE_S3
 
-#include "s3-binary-cache-store.hh"
+#include "libstore/s3-binary-cache-store.hh"
 
 #include <absl/strings/ascii.h>
 #include <absl/strings/match.h>
@@ -20,13 +20,13 @@
 #include <aws/s3/model/PutObjectRequest.h>
 #include <aws/transfer/TransferManager.h>
 
-#include "compression.hh"
-#include "download.hh"
-#include "globals.hh"
-#include "istringstream_nocopy.hh"
-#include "nar-info-disk-cache.hh"
-#include "nar-info.hh"
-#include "s3.hh"
+#include "libstore/download.hh"
+#include "libstore/globals.hh"
+#include "libstore/nar-info-disk-cache.hh"
+#include "libstore/nar-info.hh"
+#include "libstore/s3.hh"
+#include "libutil/compression.hh"
+#include "libutil/istringstream_nocopy.hh"
 
 using namespace Aws::Transfer;
 
diff --git a/third_party/nix/src/libstore/s3-binary-cache-store.hh b/third_party/nix/src/libstore/s3-binary-cache-store.hh
index 24cb67721a..3d0d0b3c44 100644
--- a/third_party/nix/src/libstore/s3-binary-cache-store.hh
+++ b/third_party/nix/src/libstore/s3-binary-cache-store.hh
@@ -2,7 +2,7 @@
 
 #include <atomic>
 
-#include "binary-cache-store.hh"
+#include "libstore/binary-cache-store.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/s3.hh b/third_party/nix/src/libstore/s3.hh
index 09935fabed..4f1852dc3d 100644
--- a/third_party/nix/src/libstore/s3.hh
+++ b/third_party/nix/src/libstore/s3.hh
@@ -2,7 +2,7 @@
 
 #if ENABLE_S3
 
-#include "ref.hh"
+#include "libutil/ref.hh"
 
 namespace Aws {
 namespace Client {
diff --git a/third_party/nix/src/libstore/sqlite.cc b/third_party/nix/src/libstore/sqlite.cc
index dbdaa29d4f..b6ecfce924 100644
--- a/third_party/nix/src/libstore/sqlite.cc
+++ b/third_party/nix/src/libstore/sqlite.cc
@@ -1,11 +1,11 @@
-#include "sqlite.hh"
+#include "libstore/sqlite.hh"
 
 #include <atomic>
 
 #include <glog/logging.h>
 #include <sqlite3.h>
 
-#include "util.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/sqlite.hh b/third_party/nix/src/libstore/sqlite.hh
index 298bb574ea..c0bc70bfc1 100644
--- a/third_party/nix/src/libstore/sqlite.hh
+++ b/third_party/nix/src/libstore/sqlite.hh
@@ -3,7 +3,7 @@
 #include <functional>
 #include <string>
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 class sqlite3;
 class sqlite3_stmt;
diff --git a/third_party/nix/src/libstore/ssh-store.cc b/third_party/nix/src/libstore/ssh-store.cc
index 9c49babcf2..eae8ee888b 100644
--- a/third_party/nix/src/libstore/ssh-store.cc
+++ b/third_party/nix/src/libstore/ssh-store.cc
@@ -1,10 +1,10 @@
-#include "archive.hh"
-#include "pool.hh"
-#include "remote-fs-accessor.hh"
-#include "remote-store.hh"
-#include "ssh.hh"
-#include "store-api.hh"
-#include "worker-protocol.hh"
+#include "libstore/remote-fs-accessor.hh"
+#include "libstore/remote-store.hh"
+#include "libstore/ssh.hh"
+#include "libstore/store-api.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/archive.hh"
+#include "libutil/pool.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/ssh.cc b/third_party/nix/src/libstore/ssh.cc
index 1b09eb42c6..e84944c4c9 100644
--- a/third_party/nix/src/libstore/ssh.cc
+++ b/third_party/nix/src/libstore/ssh.cc
@@ -1,4 +1,4 @@
-#include "ssh.hh"
+#include "libstore/ssh.hh"
 
 #include <utility>
 
diff --git a/third_party/nix/src/libstore/ssh.hh b/third_party/nix/src/libstore/ssh.hh
index 23952ccb12..9844f89d35 100644
--- a/third_party/nix/src/libstore/ssh.hh
+++ b/third_party/nix/src/libstore/ssh.hh
@@ -1,7 +1,7 @@
 #pragma once
 
-#include "sync.hh"
-#include "util.hh"
+#include "libutil/sync.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/store-api.cc b/third_party/nix/src/libstore/store-api.cc
index afdbc14e29..081cdea987 100644
--- a/third_party/nix/src/libstore/store-api.cc
+++ b/third_party/nix/src/libstore/store-api.cc
@@ -1,4 +1,4 @@
-#include "store-api.hh"
+#include "libstore/store-api.hh"
 
 #include <future>
 #include <utility>
@@ -8,13 +8,13 @@
 #include <absl/strings/str_split.h>
 #include <glog/logging.h>
 
-#include "crypto.hh"
-#include "derivations.hh"
-#include "globals.hh"
-#include "json.hh"
-#include "nar-info-disk-cache.hh"
-#include "thread-pool.hh"
-#include "util.hh"
+#include "libstore/crypto.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/nar-info-disk-cache.hh"
+#include "libutil/json.hh"
+#include "libutil/thread-pool.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
@@ -844,8 +844,8 @@ void Store::addToStore(const ValidPathInfo& info, const ref<std::string>& nar,
 
 }  // namespace nix
 
-#include "local-store.hh"
-#include "remote-store.hh"
+#include "libstore/local-store.hh"
+#include "libstore/remote-store.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libstore/store-api.hh b/third_party/nix/src/libstore/store-api.hh
index cf2520c6ca..c6f8d75b67 100644
--- a/third_party/nix/src/libstore/store-api.hh
+++ b/third_party/nix/src/libstore/store-api.hh
@@ -8,13 +8,13 @@
 #include <unordered_map>
 #include <unordered_set>
 
-#include "config.hh"
-#include "crypto.hh"
-#include "globals.hh"
-#include "hash.hh"
-#include "lru-cache.hh"
-#include "serialise.hh"
-#include "sync.hh"
+#include "libstore/crypto.hh"
+#include "libstore/globals.hh"
+#include "libutil/config.hh"
+#include "libutil/hash.hh"
+#include "libutil/lru-cache.hh"
+#include "libutil/serialise.hh"
+#include "libutil/sync.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/affinity.cc b/third_party/nix/src/libutil/affinity.cc
index 7db8906eb0..03fbe12439 100644
--- a/third_party/nix/src/libutil/affinity.cc
+++ b/third_party/nix/src/libutil/affinity.cc
@@ -1,9 +1,9 @@
-#include "affinity.hh"
+#include "libutil/affinity.hh"
 
 #include <glog/logging.h>
 
-#include "types.hh"
-#include "util.hh"
+#include "libutil/types.hh"
+#include "libutil/util.hh"
 
 #if __linux__
 #include <sched.h>
diff --git a/third_party/nix/src/libutil/archive.cc b/third_party/nix/src/libutil/archive.cc
index f78727c5fb..4089809321 100644
--- a/third_party/nix/src/libutil/archive.cc
+++ b/third_party/nix/src/libutil/archive.cc
@@ -1,4 +1,4 @@
-#include "archive.hh"
+#include "libutil/archive.hh"
 
 #include <algorithm>
 #include <cerrno>
@@ -7,14 +7,14 @@
 
 #include <dirent.h>
 #include <fcntl.h>
+#include <glog/logging.h>
 #include <strings.h>  // for strcasecmp
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "config.hh"
-#include "glog/logging.h"
-#include "util.hh"
+#include "libutil/config.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/archive.hh b/third_party/nix/src/libutil/archive.hh
index 0afa8893ef..07f58b5f94 100644
--- a/third_party/nix/src/libutil/archive.hh
+++ b/third_party/nix/src/libutil/archive.hh
@@ -1,7 +1,7 @@
 #pragma once
 
-#include "serialise.hh"
-#include "types.hh"
+#include "libutil/serialise.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/args.cc b/third_party/nix/src/libutil/args.cc
index 4e7bcb3ae7..c56383ef88 100644
--- a/third_party/nix/src/libutil/args.cc
+++ b/third_party/nix/src/libutil/args.cc
@@ -1,6 +1,6 @@
-#include "args.hh"
+#include "libutil/args.hh"
 
-#include "hash.hh"
+#include "libutil/hash.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/args.hh b/third_party/nix/src/libutil/args.hh
index 2c352a0436..37904b19aa 100644
--- a/third_party/nix/src/libutil/args.hh
+++ b/third_party/nix/src/libutil/args.hh
@@ -6,7 +6,7 @@
 
 #include <absl/strings/numbers.h>
 
-#include "util.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/compression.cc b/third_party/nix/src/libutil/compression.cc
index d7084ab7f1..a50076fcd5 100644
--- a/third_party/nix/src/libutil/compression.cc
+++ b/third_party/nix/src/libutil/compression.cc
@@ -1,4 +1,4 @@
-#include "compression.hh"
+#include "libutil/compression.hh"
 
 #include <cstdio>
 #include <cstring>
@@ -7,11 +7,11 @@
 #include <brotli/decode.h>
 #include <brotli/encode.h>
 #include <bzlib.h>
+#include <glog/logging.h>
 #include <lzma.h>
 
-#include "finally.hh"
-#include "glog/logging.h"
-#include "util.hh"
+#include "libutil/finally.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/compression.hh b/third_party/nix/src/libutil/compression.hh
index 80b651e107..8ec340ab74 100644
--- a/third_party/nix/src/libutil/compression.hh
+++ b/third_party/nix/src/libutil/compression.hh
@@ -2,9 +2,9 @@
 
 #include <string>
 
-#include "ref.hh"
-#include "serialise.hh"
-#include "types.hh"
+#include "libutil/ref.hh"
+#include "libutil/serialise.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/config.cc b/third_party/nix/src/libutil/config.cc
index 9e3f6f85c5..ebb6b4df1d 100644
--- a/third_party/nix/src/libutil/config.cc
+++ b/third_party/nix/src/libutil/config.cc
@@ -1,4 +1,4 @@
-#include "config.hh"
+#include "libutil/config.hh"
 
 #include <string>
 #include <utility>
@@ -9,8 +9,8 @@
 #include <absl/strings/string_view.h>
 #include <glog/logging.h>
 
-#include "args.hh"
-#include "json.hh"
+#include "libutil/args.hh"
+#include "libutil/json.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/config.hh b/third_party/nix/src/libutil/config.hh
index f8055d4d36..0441e3b9e8 100644
--- a/third_party/nix/src/libutil/config.hh
+++ b/third_party/nix/src/libutil/config.hh
@@ -1,7 +1,7 @@
 #include <map>
 #include <set>
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 #pragma once
 
diff --git a/third_party/nix/src/libutil/hash.cc b/third_party/nix/src/libutil/hash.cc
index 07a9730551..5c2ddc4bda 100644
--- a/third_party/nix/src/libutil/hash.cc
+++ b/third_party/nix/src/libutil/hash.cc
@@ -1,4 +1,4 @@
-#include "hash.hh"
+#include "libutil/hash.hh"
 
 #include <cstring>
 #include <iostream>
@@ -9,9 +9,9 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "archive.hh"
-#include "istringstream_nocopy.hh"
-#include "util.hh"
+#include "libutil/archive.hh"
+#include "libutil/istringstream_nocopy.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/hash.hh b/third_party/nix/src/libutil/hash.hh
index f9c63c155e..34cb41c487 100644
--- a/third_party/nix/src/libutil/hash.hh
+++ b/third_party/nix/src/libutil/hash.hh
@@ -1,7 +1,7 @@
 #pragma once
 
-#include "serialise.hh"
-#include "types.hh"
+#include "libutil/serialise.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/json.cc b/third_party/nix/src/libutil/json.cc
index 218fc264ba..da636e7be9 100644
--- a/third_party/nix/src/libutil/json.cc
+++ b/third_party/nix/src/libutil/json.cc
@@ -1,4 +1,4 @@
-#include "json.hh"
+#include "libutil/json.hh"
 
 #include <cstring>
 #include <iomanip>
diff --git a/third_party/nix/src/libutil/pool.hh b/third_party/nix/src/libutil/pool.hh
index 6d70795d35..fe6d5c2800 100644
--- a/third_party/nix/src/libutil/pool.hh
+++ b/third_party/nix/src/libutil/pool.hh
@@ -6,8 +6,8 @@
 #include <list>
 #include <memory>
 
-#include "ref.hh"
-#include "sync.hh"
+#include "libutil/ref.hh"
+#include "libutil/sync.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/serialise.cc b/third_party/nix/src/libutil/serialise.cc
index 52f0b55426..d02a0205af 100644
--- a/third_party/nix/src/libutil/serialise.cc
+++ b/third_party/nix/src/libutil/serialise.cc
@@ -1,4 +1,4 @@
-#include "serialise.hh"
+#include "libutil/serialise.hh"
 
 #include <boost/coroutine2/coroutine.hpp>
 #include <cerrno>
@@ -6,8 +6,9 @@
 #include <memory>
 #include <utility>
 
-#include "glog/logging.h"
-#include "util.hh"
+#include <glog/logging.h>
+
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/serialise.hh b/third_party/nix/src/libutil/serialise.hh
index dc877487ee..fbedf0510a 100644
--- a/third_party/nix/src/libutil/serialise.hh
+++ b/third_party/nix/src/libutil/serialise.hh
@@ -2,8 +2,8 @@
 
 #include <memory>
 
-#include "types.hh"
-#include "util.hh"
+#include "libutil/types.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/thread-pool.cc b/third_party/nix/src/libutil/thread-pool.cc
index 879de446c2..7c6b0a1b46 100644
--- a/third_party/nix/src/libutil/thread-pool.cc
+++ b/third_party/nix/src/libutil/thread-pool.cc
@@ -1,7 +1,8 @@
-#include "thread-pool.hh"
+#include "libutil/thread-pool.hh"
 
-#include "affinity.hh"
-#include "glog/logging.h"
+#include <glog/logging.h>
+
+#include "libutil/affinity.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/thread-pool.hh b/third_party/nix/src/libutil/thread-pool.hh
index 72837ca1ee..23527b907a 100644
--- a/third_party/nix/src/libutil/thread-pool.hh
+++ b/third_party/nix/src/libutil/thread-pool.hh
@@ -6,8 +6,8 @@
 #include <queue>
 #include <thread>
 
-#include "sync.hh"
-#include "util.hh"
+#include "libutil/sync.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/types.hh b/third_party/nix/src/libutil/types.hh
index ad44719afe..e2ea86fdcf 100644
--- a/third_party/nix/src/libutil/types.hh
+++ b/third_party/nix/src/libutil/types.hh
@@ -7,7 +7,7 @@
 #include <set>
 #include <string>
 
-#include "ref.hh"
+#include "libutil/ref.hh"
 
 /* Before 4.7, gcc's std::exception uses empty throw() specifiers for
  * its (virtual) destructor and what() in c++11 mode, in violation of spec
diff --git a/third_party/nix/src/libutil/util.cc b/third_party/nix/src/libutil/util.cc
index 3f541134b8..bb6a17e030 100644
--- a/third_party/nix/src/libutil/util.cc
+++ b/third_party/nix/src/libutil/util.cc
@@ -1,4 +1,4 @@
-#include "util.hh"
+#include "libutil/util.hh"
 
 #include <cctype>
 #include <cerrno>
@@ -15,6 +15,7 @@
 #include <absl/strings/str_split.h>
 #include <absl/strings/string_view.h>
 #include <fcntl.h>
+#include <glog/logging.h>
 #include <grp.h>
 #include <pwd.h>
 #include <sys/ioctl.h>
@@ -23,12 +24,12 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
-#include "affinity.hh"
-#include "finally.hh"
-#include "glog/logging.h"
-#include "lazy.hh"
-#include "serialise.hh"
-#include "sync.hh"
+#include "libutil/affinity.hh"
+#include "libutil/finally.hh"
+#include "libutil/lazy.hh"
+#include "libutil/serialise.hh"
+#include "libutil/sync.hh"
+#include "nix_config.h"
 
 namespace nix {
 
diff --git a/third_party/nix/src/libutil/util.hh b/third_party/nix/src/libutil/util.hh
index 27e6b47fb2..b308c428fd 100644
--- a/third_party/nix/src/libutil/util.hh
+++ b/third_party/nix/src/libutil/util.hh
@@ -15,7 +15,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 #ifndef HAVE_STRUCT_DIRENT_D_TYPE
 #define DT_UNKNOWN 0
diff --git a/third_party/nix/src/libutil/xml-writer.cc b/third_party/nix/src/libutil/xml-writer.cc
index d34e9a2f0d..8274ed769e 100644
--- a/third_party/nix/src/libutil/xml-writer.cc
+++ b/third_party/nix/src/libutil/xml-writer.cc
@@ -1,4 +1,4 @@
-#include "xml-writer.hh"
+#include "libutil/xml-writer.hh"
 
 #include <cassert>
 
diff --git a/third_party/nix/src/nix-build/nix-build.cc b/third_party/nix/src/nix-build/nix-build.cc
index 938452f716..b00062de0e 100644
--- a/third_party/nix/src/nix-build/nix-build.cc
+++ b/third_party/nix/src/nix-build/nix-build.cc
@@ -9,18 +9,18 @@
 #include <absl/strings/str_split.h>
 #include <glog/logging.h>
 
-#include "affinity.hh"
-#include "attr-path.hh"
-#include "common-eval-args.hh"
-#include "derivations.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "get-drvs.hh"
-#include "globals.hh"
-#include "legacy.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "util.hh"
+#include "libexpr/attr-path.hh"
+#include "libexpr/common-eval-args.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/get-drvs.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/affinity.hh"
+#include "libutil/util.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 using namespace std::string_literals;
diff --git a/third_party/nix/src/nix-channel/nix-channel.cc b/third_party/nix/src/nix-channel/nix-channel.cc
index 01fc788b90..0fb53780d3 100644
--- a/third_party/nix/src/nix-channel/nix-channel.cc
+++ b/third_party/nix/src/nix-channel/nix-channel.cc
@@ -5,11 +5,11 @@
 #include <fcntl.h>
 #include <pwd.h>
 
-#include "download.hh"
-#include "globals.hh"
-#include "legacy.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/shared.hh"
+#include "libstore/download.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix-collect-garbage/nix-collect-garbage.cc b/third_party/nix/src/nix-collect-garbage/nix-collect-garbage.cc
index 548e492664..f6897595cb 100644
--- a/third_party/nix/src/nix-collect-garbage/nix-collect-garbage.cc
+++ b/third_party/nix/src/nix-collect-garbage/nix-collect-garbage.cc
@@ -3,11 +3,11 @@
 
 #include <glog/logging.h>
 
-#include "globals.hh"
-#include "legacy.hh"
-#include "profiles.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/shared.hh"
+#include "libstore/globals.hh"
+#include "libstore/profiles.hh"
+#include "libstore/store-api.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix-copy-closure/nix-copy-closure.cc b/third_party/nix/src/nix-copy-closure/nix-copy-closure.cc
index 67765a8cf7..d4ea6a85ec 100644
--- a/third_party/nix/src/nix-copy-closure/nix-copy-closure.cc
+++ b/third_party/nix/src/nix-copy-closure/nix-copy-closure.cc
@@ -1,8 +1,8 @@
 #include <glog/logging.h>
 
-#include "legacy.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix-daemon/nix-daemon.cc b/third_party/nix/src/nix-daemon/nix-daemon.cc
index 4373c33e8b..b2161f8584 100644
--- a/third_party/nix/src/nix-daemon/nix-daemon.cc
+++ b/third_party/nix/src/nix-daemon/nix-daemon.cc
@@ -15,18 +15,18 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
-#include "affinity.hh"
-#include "archive.hh"
-#include "derivations.hh"
-#include "finally.hh"
-#include "globals.hh"
-#include "legacy.hh"
-#include "local-store.hh"
-#include "monitor-fd.hh"
-#include "serialise.hh"
-#include "shared.hh"
-#include "util.hh"
-#include "worker-protocol.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/local-store.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/affinity.hh"
+#include "libutil/archive.hh"
+#include "libutil/finally.hh"
+#include "libutil/monitor-fd.hh"
+#include "libutil/serialise.hh"
+#include "libutil/util.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix-env/nix-env.cc b/third_party/nix/src/nix-env/nix-env.cc
index d25a489746..10e2e9492e 100644
--- a/third_party/nix/src/nix-env/nix-env.cc
+++ b/third_party/nix/src/nix-env/nix-env.cc
@@ -11,22 +11,22 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "attr-path.hh"
-#include "common-eval-args.hh"
-#include "derivations.hh"
-#include "eval.hh"
-#include "get-drvs.hh"
-#include "globals.hh"
-#include "json.hh"
-#include "legacy.hh"
-#include "names.hh"
-#include "profiles.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "user-env.hh"
-#include "util.hh"
-#include "value-to-json.hh"
-#include "xml-writer.hh"
+#include "libexpr/attr-path.hh"
+#include "libexpr/common-eval-args.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/get-drvs.hh"
+#include "libexpr/names.hh"
+#include "libexpr/value-to-json.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/profiles.hh"
+#include "libstore/store-api.hh"
+#include "libutil/json.hh"
+#include "libutil/util.hh"
+#include "libutil/xml-writer.hh"
+#include "nix-env/user-env.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 using std::cout;
diff --git a/third_party/nix/src/nix-env/user-env.cc b/third_party/nix/src/nix-env/user-env.cc
index c8eee4aac0..8130eafbdf 100644
--- a/third_party/nix/src/nix-env/user-env.cc
+++ b/third_party/nix/src/nix-env/user-env.cc
@@ -1,15 +1,15 @@
-#include "user-env.hh"
+#include "nix-env/user-env.hh"
 
 #include <glog/logging.h>
 
-#include "derivations.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "globals.hh"
-#include "profiles.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "util.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/profiles.hh"
+#include "libstore/store-api.hh"
+#include "libutil/util.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix-env/user-env.hh b/third_party/nix/src/nix-env/user-env.hh
index a117d5c2ad..95919a6c87 100644
--- a/third_party/nix/src/nix-env/user-env.hh
+++ b/third_party/nix/src/nix-env/user-env.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "get-drvs.hh"
+#include "libexpr/get-drvs.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix-instantiate/nix-instantiate.cc b/third_party/nix/src/nix-instantiate/nix-instantiate.cc
index 8e1c7afe1c..6c77a96ebc 100644
--- a/third_party/nix/src/nix-instantiate/nix-instantiate.cc
+++ b/third_party/nix/src/nix-instantiate/nix-instantiate.cc
@@ -1,18 +1,18 @@
 #include <iostream>
 #include <map>
 
-#include "attr-path.hh"
-#include "common-eval-args.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "get-drvs.hh"
-#include "globals.hh"
-#include "legacy.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "util.hh"
-#include "value-to-json.hh"
-#include "value-to-xml.hh"
+#include "libexpr/attr-path.hh"
+#include "libexpr/common-eval-args.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/get-drvs.hh"
+#include "libexpr/value-to-json.hh"
+#include "libexpr/value-to-xml.hh"
+#include "libmain/shared.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/util.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix-prefetch-url/nix-prefetch-url.cc b/third_party/nix/src/nix-prefetch-url/nix-prefetch-url.cc
index c5b649fac7..a83ac62635 100644
--- a/third_party/nix/src/nix-prefetch-url/nix-prefetch-url.cc
+++ b/third_party/nix/src/nix-prefetch-url/nix-prefetch-url.cc
@@ -6,16 +6,16 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "attr-path.hh"
-#include "common-eval-args.hh"
-#include "download.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "finally.hh"
-#include "hash.hh"
-#include "legacy.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libexpr/attr-path.hh"
+#include "libexpr/common-eval-args.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libmain/shared.hh"
+#include "libstore/download.hh"
+#include "libstore/store-api.hh"
+#include "libutil/finally.hh"
+#include "libutil/hash.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix-store/dotgraph.cc b/third_party/nix/src/nix-store/dotgraph.cc
index ef335bb531..2500b8f4b0 100644
--- a/third_party/nix/src/nix-store/dotgraph.cc
+++ b/third_party/nix/src/nix-store/dotgraph.cc
@@ -1,9 +1,9 @@
-#include "dotgraph.hh"
+#include "nix-store/dotgraph.hh"
 
 #include <iostream>
 
-#include "store-api.hh"
-#include "util.hh"
+#include "libstore/store-api.hh"
+#include "libutil/util.hh"
 
 using std::cout;
 
diff --git a/third_party/nix/src/nix-store/dotgraph.hh b/third_party/nix/src/nix-store/dotgraph.hh
index 20fc357b1b..40c2686854 100644
--- a/third_party/nix/src/nix-store/dotgraph.hh
+++ b/third_party/nix/src/nix-store/dotgraph.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix-store/graphml.cc b/third_party/nix/src/nix-store/graphml.cc
index 86b1c6b942..ada4aaf6d0 100644
--- a/third_party/nix/src/nix-store/graphml.cc
+++ b/third_party/nix/src/nix-store/graphml.cc
@@ -1,10 +1,10 @@
-#include "graphml.hh"
+#include "nix-store/graphml.hh"
 
 #include <iostream>
 
-#include "derivations.hh"
-#include "store-api.hh"
-#include "util.hh"
+#include "libstore/derivations.hh"
+#include "libstore/store-api.hh"
+#include "libutil/util.hh"
 
 using std::cout;
 
diff --git a/third_party/nix/src/nix-store/graphml.hh b/third_party/nix/src/nix-store/graphml.hh
index 199421acb2..be07904d0f 100644
--- a/third_party/nix/src/nix-store/graphml.hh
+++ b/third_party/nix/src/nix-store/graphml.hh
@@ -1,6 +1,6 @@
 #pragma once
 
-#include "types.hh"
+#include "libutil/types.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix-store/nix-store.cc b/third_party/nix/src/nix-store/nix-store.cc
index 713439308a..a642780b72 100644
--- a/third_party/nix/src/nix-store/nix-store.cc
+++ b/third_party/nix/src/nix-store/nix-store.cc
@@ -7,18 +7,18 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "archive.hh"
-#include "derivations.hh"
-#include "dotgraph.hh"
-#include "globals.hh"
-#include "graphml.hh"
-#include "legacy.hh"
-#include "local-store.hh"
-#include "monitor-fd.hh"
-#include "serve-protocol.hh"
-#include "shared.hh"
-#include "util.hh"
-#include "worker-protocol.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/local-store.hh"
+#include "libstore/serve-protocol.hh"
+#include "libstore/worker-protocol.hh"
+#include "libutil/archive.hh"
+#include "libutil/monitor-fd.hh"
+#include "libutil/util.hh"
+#include "nix-store/dotgraph.hh"
+#include "nix-store/graphml.hh"
+#include "nix/legacy.hh"
 
 #if HAVE_SODIUM
 #include <sodium.h>
diff --git a/third_party/nix/src/nix/add-to-store.cc b/third_party/nix/src/nix/add-to-store.cc
index b7fda9c9d3..f99fa30be0 100644
--- a/third_party/nix/src/nix/add-to-store.cc
+++ b/third_party/nix/src/nix/add-to-store.cc
@@ -1,7 +1,7 @@
-#include "archive.hh"
-#include "command.hh"
-#include "common-args.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libstore/store-api.hh"
+#include "libutil/archive.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/build.cc b/third_party/nix/src/nix/build.cc
index 9ab2d27e0f..d5bdb7a379 100644
--- a/third_party/nix/src/nix/build.cc
+++ b/third_party/nix/src/nix/build.cc
@@ -1,7 +1,7 @@
-#include "command.hh"
-#include "common-args.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/cat.cc b/third_party/nix/src/nix/cat.cc
index 2d662a453f..49471100cf 100644
--- a/third_party/nix/src/nix/cat.cc
+++ b/third_party/nix/src/nix/cat.cc
@@ -1,7 +1,7 @@
-#include "command.hh"
-#include "fs-accessor.hh"
-#include "nar-accessor.hh"
-#include "store-api.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/nar-accessor.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/command.cc b/third_party/nix/src/nix/command.cc
index 34fcde8003..f7f183ab0a 100644
--- a/third_party/nix/src/nix/command.cc
+++ b/third_party/nix/src/nix/command.cc
@@ -1,9 +1,9 @@
-#include "command.hh"
+#include "nix/command.hh"
 
 #include <utility>
 
-#include "derivations.hh"
-#include "store-api.hh"
+#include "libstore/derivations.hh"
+#include "libstore/store-api.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix/command.hh b/third_party/nix/src/nix/command.hh
index c297bfbd38..813fdb557d 100644
--- a/third_party/nix/src/nix/command.hh
+++ b/third_party/nix/src/nix/command.hh
@@ -1,7 +1,7 @@
 #pragma once
 
-#include "args.hh"
-#include "common-eval-args.hh"
+#include "libexpr/common-eval-args.hh"
+#include "libutil/args.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix/copy.cc b/third_party/nix/src/nix/copy.cc
index 633fe399b4..a527d40cfa 100644
--- a/third_party/nix/src/nix/copy.cc
+++ b/third_party/nix/src/nix/copy.cc
@@ -1,10 +1,10 @@
 #include <atomic>
 
-#include "command.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "sync.hh"
-#include "thread-pool.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "libutil/sync.hh"
+#include "libutil/thread-pool.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/doctor.cc b/third_party/nix/src/nix/doctor.cc
index c7d133fdac..3a5cd987a9 100644
--- a/third_party/nix/src/nix/doctor.cc
+++ b/third_party/nix/src/nix/doctor.cc
@@ -2,11 +2,11 @@
 #include <absl/strings/str_cat.h>
 #include <absl/strings/str_split.h>
 
-#include "command.hh"
-#include "serve-protocol.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "worker-protocol.hh"
+#include "libmain/shared.hh"
+#include "libstore/serve-protocol.hh"
+#include "libstore/store-api.hh"
+#include "libstore/worker-protocol.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/dump-path.cc b/third_party/nix/src/nix/dump-path.cc
index 5e93a3a44b..d7e8bc69fd 100644
--- a/third_party/nix/src/nix/dump-path.cc
+++ b/third_party/nix/src/nix/dump-path.cc
@@ -1,5 +1,5 @@
-#include "command.hh"
-#include "store-api.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/edit.cc b/third_party/nix/src/nix/edit.cc
index 4d5cb382bc..55b193fb6b 100644
--- a/third_party/nix/src/nix/edit.cc
+++ b/third_party/nix/src/nix/edit.cc
@@ -2,10 +2,10 @@
 #include <glog/logging.h>
 #include <unistd.h>
 
-#include "attr-path.hh"
-#include "command.hh"
-#include "eval.hh"
-#include "shared.hh"
+#include "libexpr/attr-path.hh"
+#include "libexpr/eval.hh"
+#include "libmain/shared.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/eval.cc b/third_party/nix/src/nix/eval.cc
index 661d587d73..5f26aa14c0 100644
--- a/third_party/nix/src/nix/eval.cc
+++ b/third_party/nix/src/nix/eval.cc
@@ -1,11 +1,11 @@
-#include "eval.hh"
-
-#include "command.hh"
-#include "common-args.hh"
-#include "json.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "value-to-json.hh"
+#include "libexpr/eval.hh"
+
+#include "libexpr/value-to-json.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "libutil/json.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/hash.cc b/third_party/nix/src/nix/hash.cc
index c500dc4f3c..935faec9d5 100644
--- a/third_party/nix/src/nix/hash.cc
+++ b/third_party/nix/src/nix/hash.cc
@@ -1,8 +1,8 @@
-#include "hash.hh"
+#include "libutil/hash.hh"
 
-#include "command.hh"
-#include "legacy.hh"
-#include "shared.hh"
+#include "libmain/shared.hh"
+#include "nix/command.hh"
+#include "nix/legacy.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/installables.cc b/third_party/nix/src/nix/installables.cc
index 38a3f0c8ec..80c5ddb68b 100644
--- a/third_party/nix/src/nix/installables.cc
+++ b/third_party/nix/src/nix/installables.cc
@@ -1,15 +1,15 @@
 #include <regex>
 #include <utility>
 
-#include "attr-path.hh"
-#include "command.hh"
-#include "common-eval-args.hh"
-#include "derivations.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "get-drvs.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libexpr/attr-path.hh"
+#include "libexpr/common-eval-args.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/get-drvs.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix/legacy.cc b/third_party/nix/src/nix/legacy.cc
index b851392b42..a0f9fc65b3 100644
--- a/third_party/nix/src/nix/legacy.cc
+++ b/third_party/nix/src/nix/legacy.cc
@@ -1,4 +1,4 @@
-#include "legacy.hh"
+#include "nix/legacy.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix/log.cc b/third_party/nix/src/nix/log.cc
index 63d3554cc2..b205851ece 100644
--- a/third_party/nix/src/nix/log.cc
+++ b/third_party/nix/src/nix/log.cc
@@ -1,9 +1,9 @@
 #include <glog/logging.h>
 
-#include "command.hh"
-#include "common-args.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/ls.cc b/third_party/nix/src/nix/ls.cc
index 5b052f8fcc..aa461675ad 100644
--- a/third_party/nix/src/nix/ls.cc
+++ b/third_party/nix/src/nix/ls.cc
@@ -1,9 +1,9 @@
-#include "command.hh"
-#include "common-args.hh"
-#include "fs-accessor.hh"
-#include "json.hh"
-#include "nar-accessor.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/nar-accessor.hh"
+#include "libstore/store-api.hh"
+#include "libutil/json.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/main.cc b/third_party/nix/src/nix/main.cc
index 5978238808..a7b6e71bbe 100644
--- a/third_party/nix/src/nix/main.cc
+++ b/third_party/nix/src/nix/main.cc
@@ -1,21 +1,21 @@
 #include <algorithm>
 
+#include <glog/logging.h>
 #include <ifaddrs.h>
 #include <netdb.h>
 #include <netinet/in.h>
 #include <sys/socket.h>
 #include <sys/types.h>
 
-#include "command.hh"
-#include "common-args.hh"
-#include "download.hh"
-#include "eval.hh"
-#include "finally.hh"
-#include "globals.hh"
-#include "glog/logging.h"
-#include "legacy.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libexpr/eval.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/download.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/finally.hh"
+#include "nix/command.hh"
+#include "nix/legacy.hh"
 
 extern std::string chrootHelperName;
 
diff --git a/third_party/nix/src/nix/optimise-store.cc b/third_party/nix/src/nix/optimise-store.cc
index 5fdcfb7424..594cc0e637 100644
--- a/third_party/nix/src/nix/optimise-store.cc
+++ b/third_party/nix/src/nix/optimise-store.cc
@@ -1,8 +1,8 @@
 #include <atomic>
 
-#include "command.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/path-info.cc b/third_party/nix/src/nix/path-info.cc
index e94dcc9628..aa43ad5262 100644
--- a/third_party/nix/src/nix/path-info.cc
+++ b/third_party/nix/src/nix/path-info.cc
@@ -1,11 +1,11 @@
 #include <algorithm>
 #include <array>
 
-#include "command.hh"
-#include "common-args.hh"
-#include "json.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "libutil/json.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/ping-store.cc b/third_party/nix/src/nix/ping-store.cc
index 9e9ee15c89..0857733c42 100644
--- a/third_party/nix/src/nix/ping-store.cc
+++ b/third_party/nix/src/nix/ping-store.cc
@@ -1,6 +1,6 @@
-#include "command.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/repl.cc b/third_party/nix/src/nix/repl.cc
index f6261cfecc..65a22382b2 100644
--- a/third_party/nix/src/nix/repl.cc
+++ b/third_party/nix/src/nix/repl.cc
@@ -24,17 +24,17 @@ extern "C" {
 }
 #endif
 
-#include "affinity.hh"
-#include "command.hh"
-#include "common-eval-args.hh"
-#include "derivations.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "finally.hh"
-#include "get-drvs.hh"
-#include "globals.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libexpr/common-eval-args.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/get-drvs.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/globals.hh"
+#include "libstore/store-api.hh"
+#include "libutil/affinity.hh"
+#include "libutil/finally.hh"
+#include "nix/command.hh"
 
 namespace nix {
 
diff --git a/third_party/nix/src/nix/run.cc b/third_party/nix/src/nix/run.cc
index 47103e8db3..b1ca56d751 100644
--- a/third_party/nix/src/nix/run.cc
+++ b/third_party/nix/src/nix/run.cc
@@ -3,15 +3,15 @@
 #include <absl/strings/str_split.h>
 #include <sys/mount.h>
 
-#include "affinity.hh"
-#include "command.hh"
-#include "common-args.hh"
-#include "derivations.hh"
-#include "finally.hh"
-#include "fs-accessor.hh"
-#include "local-store.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/derivations.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/local-store.hh"
+#include "libstore/store-api.hh"
+#include "libutil/affinity.hh"
+#include "libutil/finally.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/search.cc b/third_party/nix/src/nix/search.cc
index 9f03fc6f32..350863cf81 100644
--- a/third_party/nix/src/nix/search.cc
+++ b/third_party/nix/src/nix/search.cc
@@ -3,16 +3,16 @@
 
 #include <glog/logging.h>
 
-#include "command.hh"
-#include "common-args.hh"
-#include "eval-inline.hh"
-#include "eval.hh"
-#include "get-drvs.hh"
-#include "globals.hh"
-#include "json-to-value.hh"
-#include "json.hh"
-#include "names.hh"
-#include "shared.hh"
+#include "libexpr/eval-inline.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/get-drvs.hh"
+#include "libexpr/json-to-value.hh"
+#include "libexpr/names.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/globals.hh"
+#include "libutil/json.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/show-config.cc b/third_party/nix/src/nix/show-config.cc
index 51f02ed61b..8e27fd168f 100644
--- a/third_party/nix/src/nix/show-config.cc
+++ b/third_party/nix/src/nix/show-config.cc
@@ -1,8 +1,8 @@
-#include "command.hh"
-#include "common-args.hh"
-#include "json.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "libutil/json.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/show-derivation.cc b/third_party/nix/src/nix/show-derivation.cc
index b821a9ee12..2a6252f931 100644
--- a/third_party/nix/src/nix/show-derivation.cc
+++ b/third_party/nix/src/nix/show-derivation.cc
@@ -1,11 +1,11 @@
 // FIXME: integrate this with nix path-info?
 
-#include "archive.hh"
-#include "command.hh"
-#include "common-args.hh"
-#include "derivations.hh"
-#include "json.hh"
-#include "store-api.hh"
+#include "libmain/common-args.hh"
+#include "libstore/derivations.hh"
+#include "libstore/store-api.hh"
+#include "libutil/archive.hh"
+#include "libutil/json.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/sigs.cc b/third_party/nix/src/nix/sigs.cc
index 420296a802..8df1beef2b 100644
--- a/third_party/nix/src/nix/sigs.cc
+++ b/third_party/nix/src/nix/sigs.cc
@@ -2,10 +2,10 @@
 
 #include <glog/logging.h>
 
-#include "command.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "thread-pool.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "libutil/thread-pool.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/upgrade-nix.cc b/third_party/nix/src/nix/upgrade-nix.cc
index 174cc1f1fc..1d85af03c1 100644
--- a/third_party/nix/src/nix/upgrade-nix.cc
+++ b/third_party/nix/src/nix/upgrade-nix.cc
@@ -3,13 +3,13 @@
 #include <absl/strings/str_split.h>
 #include <glog/logging.h>
 
-#include "attr-path.hh"
-#include "command.hh"
-#include "common-args.hh"
-#include "download.hh"
-#include "eval.hh"
-#include "names.hh"
-#include "store-api.hh"
+#include "libexpr/attr-path.hh"
+#include "libexpr/eval.hh"
+#include "libexpr/names.hh"
+#include "libmain/common-args.hh"
+#include "libstore/download.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/verify.cc b/third_party/nix/src/nix/verify.cc
index a773b3a2c8..f5f222915e 100644
--- a/third_party/nix/src/nix/verify.cc
+++ b/third_party/nix/src/nix/verify.cc
@@ -2,11 +2,11 @@
 
 #include <glog/logging.h>
 
-#include "command.hh"
-#include "shared.hh"
-#include "store-api.hh"
-#include "sync.hh"
-#include "thread-pool.hh"
+#include "libmain/shared.hh"
+#include "libstore/store-api.hh"
+#include "libutil/sync.hh"
+#include "libutil/thread-pool.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/src/nix/why-depends.cc b/third_party/nix/src/nix/why-depends.cc
index 9c5eaf737c..4fb91c9d91 100644
--- a/third_party/nix/src/nix/why-depends.cc
+++ b/third_party/nix/src/nix/why-depends.cc
@@ -2,10 +2,10 @@
 
 #include <glog/logging.h>
 
-#include "command.hh"
-#include "fs-accessor.hh"
-#include "shared.hh"
-#include "store-api.hh"
+#include "libmain/shared.hh"
+#include "libstore/fs-accessor.hh"
+#include "libstore/store-api.hh"
+#include "nix/command.hh"
 
 using namespace nix;
 
diff --git a/third_party/nix/tests/plugins/plugintest.cc b/third_party/nix/tests/plugins/plugintest.cc
index 5edd28bd09..353166cffe 100644
--- a/third_party/nix/tests/plugins/plugintest.cc
+++ b/third_party/nix/tests/plugins/plugintest.cc
@@ -1,4 +1,4 @@
-#include "config.hh"
+#include "libutil/config.hh"
 #include "primops.hh"
 
 using namespace nix;