Dear Simon, Thanks for working on this ! I've tried to follow the nix install process. Here are some (incomplete) notes. For brievity's sake, only the Zlib package will be shown in the files below. 1. A list of dependencies is stored into a YAML: 8<----------------------------------------------------------------------- cat /nix/store/3c8lw0flmvvl5hlkc8c7xcwvwj1kbzp2-julia-package-closure.yml - name: Zlib_jll   uuid: 83775a58-1f1d-513f-b197-d71354ab007a   version: 1.2.13+0   depends_on:     "Libdl": "8f399da3-3557-5675-b5ff-fb832c97cbdb" 8<----------------------------------------------------------------------- 2. Each dependency is a derivation and transformed into a git repo 8<----------------------------------------------------------------------- building '/nix/store/icap989di414ax9zpq1b07ca4szn1v6j-Zlib_jll.jl-866bc71.drv'... exporting https://github.com/JuliaBinaryWrappers/Zlib_jll.jl.git (rev 866bc7103cfb6233c35d6f1b2c6bd23ef9f6fe5f) into /nix/store/pi31a0w9xm3qych5yfdw3mg93sxl41rq-Zlib_jll.jl-866bc71 Initialized empty Git repository in /nix/store/pi31a0w9xm3qych5yfdw3mg93sxl41rq-Zlib_jll.jl-866bc71/.git/ remote: Enumerating objects: 26, done. remote: Counting objects: 100% (7/7), done. remote: Compressing objects: 100% (6/6), done. remote: Total 26 (delta 1), reused 1 (delta 1), pack-reused 19 (from 1) Unpacking objects: 100% (26/26), 5.55 KiB | 1.85 MiB/s, done. From https://github.com/JuliaBinaryWrappers/Zlib_jll.jl * branch            866bc7103cfb6233c35d6f1b2c6bd23ef9f6fe5f -> FETCH_HEAD Switched to a new branch 'fetchgit' removing `.git'... 8<----------------------------------------------------------------------- 3. Package location are overriden, first into a JSON 8<----------------------------------------------------------------------- $ cat /nix/store/nf666fq31xz8f7hx9qi9ygicf4hdfx4i-Overrides.json     "uuid-83775a58-1f1d-513f-b197-d71354ab007a": {         "Zlib": {             "path": "/nix/store/6d4hpjr4f04zq9090kd9kkffa9j2q7gj-Zlib",             "sha1": "b86177a36c8ba482120ab766b6670177dffd72f3"         }     }, 8<----------------------------------------------------------------------- 4. ... then in a TOML 8<----------------------------------------------------------------------- $ cat /nix/store/gnwl6k320mv0pnb8hpcdww40hypp3i7f-Overrides.toml b86177a36c8ba482120ab766b6670177dffd72f3 = "/nix/store/6d4hpjr4f04zq9090kd9kkffa9j2q7gj-Zlib" 8<----------------------------------------------------------------------- 5. A local registry is created. Somewhere, the following code is run 8<----------------------------------------------------------------------- Pkg.Registry.add(Pkg.RegistrySpec(path=\"/nix/store/p5dy9z5869qnmmawsid5dcy1nqy1k5sn-minimal-julia-registry`. 8<----------------------------------------------------------------------- The registry looks like this: 8<----------------------------------------------------------------------- $ tree /nix/store/p5dy9z5869qnmmawsid5dcy1nqy1k5sn-minimal-julia-registry ├── A │   ├── ArrowTypes │   │   ├── Compat.toml │   │   ├── Deps.toml │   │   ├── Package.toml │   │   └── Versions.toml 8<----------------------------------------------------------------------- with Compat.toml 8<----------------------------------------------------------------------- ["1-1.1"] julia = "1.3.0-1" ["1.2-2"] julia = "1" 8<----------------------------------------------------------------------- with Deps.toml 8<----------------------------------------------------------------------- [1-2] UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" ["2.1-2"] Sockets = "6462fe0b-24de-5631-8697-dd941f90decc" 8<----------------------------------------------------------------------- with Package.toml 8<----------------------------------------------------------------------- name = "ArrowTypes" uuid = "31f734f8-188a-4ce0-8406-c8a06bd891cd" repo = "file:///nix/store/ndqz9cikh67hqwxh4l7vji07764p4xpk-julia-ArrowTypes-2.3.0" subdir = "src/ArrowTypes" ["2.3.0"] git-tree-sha1 = "404265cd8128a2515a81d5eae16de90fdef05101" 8<----------------------------------------------------------------------- 6. I'm not sure how the registry is used at this step so here the log output if you can make sense out of it 8<----------------------------------------------------------------------- Copying registry from `/nix/store/p5dy9z5869qnmmawsid5dcy1nqy1k5sn-minimal-julia-registry` Copied registry `General` to `/nix/store/ap871sp56qx74k4hz2nlnjvpys8pdh7j-julia-depot/depot/registries/General` Adding packages: CSV Resolving package versions... Cloning [e2d170a0-9d28-54be-80f0-106bbe20a464] DataValueInterfaces from file:///nix/store/0gdzfghqzs56ilzb9dx239fij4hny9i3-julia-DataValueInterfaces-1.0.0 Installed DataValueInterfaces ───────── v1.0.0 ... Updating `/nix/store/ap871sp56qx74k4hz2nlnjvpys8pdh7j-julia-depot/project/Project.toml` [336ed68f] + CSV v0.10.14 Updating `/nix/store/ap871sp56qx74k4hz2nlnjvpys8pdh7j-julia-depot/project/Manifest.toml` Removing registry `General` from /nix/store/ap871sp56qx74k4hz2nlnjvpys8pdh7j-julia-depot/depot/registries/General building '/nix/store/0k35snxa68lrkap77s376gqx8ppxr8yn-julia-1.9.4-env.drv'... 8<----------------------------------------------------------------------- Hope that helps, Alexis