diff options
| author | tv <tv@krebsco.de> | 2026-11-13 17:03:25 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-13 18:21:08 +0100 |
| commit | 0e0880fc606e9277c1a52e637cebe7dd3438410d (patch) | |
| tree | 74383c8c11b0999c665da1ba66add2220b4ae685 /pkgs/populate/rust.nix | |
| parent | 96f5ecf73dba5762de4148ce2e9a0fdd3e13270f (diff) | |
populate: deliver flake and flake-input sources natively in Rust
src/flake_input.rs reads what nix flake metadata and nix flake archive
print as JSON itself: it selects the flake or input, decides what the
target fetches or gets copied, and computes the store paths to root,
which are what selected.jq, selfIsRemote.jq, selfLocked.jq, and the Nix
expressions of the shell implementation do there. On the target, fixed
snippets in sh::flake run Nix, getting values as positional parameters,
and send JSON or store paths back. The jq test's cases are unit tests of
the Rust equivalents.
Diffstat (limited to 'pkgs/populate/rust.nix')
| -rw-r--r-- | pkgs/populate/rust.nix | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pkgs/populate/rust.nix b/pkgs/populate/rust.nix index f6ece25..4582532 100644 --- a/pkgs/populate/rust.nix +++ b/pkgs/populate/rust.nix @@ -1,6 +1,6 @@ # Populate's arguments, checked and as JSON, for the program in this # directory, which delivers the sources. -{ coreutils, findutils, git, jq, nix, openssh, pass, passage, program, rsync +{ coreutils, findutils, git, nix, openssh, pass, passage, program, rsync , writers }: @@ -36,7 +36,7 @@ writers.writeDash "populate.${target.host}" /* sh */ '' echo + "$0" >&2 # The tools populate depends on, in front of others of the same name. PATH=${makeBinPath [ - rsync openssh git nix pass passage jq findutils coreutils + coreutils findutils git nix openssh pass passage rsync ]}''${PATH:+:$PATH} export PATH # On a file descriptor of its own, so the commands populate runs keep |
