Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(This was assembled for my own use; no offense will be taken if it's not desired upstream).
Nix is build framework built on top of a pure functional language with immutable values at its core. These pure functions composed to generate build steps which -- while inherently impure -- are run in aggressively sandboxed environments to get as close to purity as is reasonably achievable.
nix run github:charles-dyfis-net/clj-jq/ec26ae8768bee665ff27d5a869656f8a31bccc54#jq-cli
, this will (if they're on MacOS arm64, and I haven't amended this PR in a way that makes that hash unavailable) compile and run a native executable/nix/store/wwv070qh67l41yn30vzkqvnprz4amdlw-clj-jq-1.2.1-SNAPSHOT/bin/clj-jq
, built by a graalvm version at/nix/store/07wffji6n1sbka4cvlwkyzp3fr68d03m-graalvm17-ce-22.3.0
, which is itself compiled against a specific hashed version of the tools in its dependency chain (though in practice, it's downloaded from a public binary cache unless the user has chosen not to trust same). None of these executables are installed in the PATH or otherwise modify or are modified by behavior of other installed software on the system.