populate - source code installer populate can install sources from various locations into a directory. Currently populate knows how to install (local) files, Git repositories, and symlinks. Following example illustrates them all. Example: Install some source to /var/src ---------------------------------------- First we have to create a "sentinel file" that tells populate it's okay to install (and remove!) files from our target location: touch /var/src/.populate Next we'll run populate with a source specification: populate root@localhost/var/src <<EOF { "mystuff": { "type": "file", "file": { "path": "/path/to/mystuff-1.0" } }, "nixos-config": { "type": "symlink", "symlink": { "target": "mystuff/configuration.nix" } }, "nixpkgs": { "type": "git", "git": { "ref": "8bf31d7d27cae435d7c1e9e0ccb0a320b424066f", "url": "https://github.com/NixOS/nixpkgs" } } } EOF