Nix Hackers | 899 Members | |
| For people hacking on the Nix package manager itself | 188 Servers |
| Sender | Message | Time |
|---|---|---|
| 13 Mar 2025 | ||
In reply to @roberthensing:matrix.orgWe do use a _ suffix for other things right now FYI | 15:40:41 | |
yeah, mostly for Sync state values | 16:00:58 | |
| I'm trying to re-implement the way content-addressed derivations do dependency resolution from unresolved to resolved (aka basic) derivation, but outside of Nix - because I'm trying to do stricter validation with different signatures. I've gotten fairly far with that, but I'm seeing some "placeholder paths" like So I'm wondering, how do those placeholder paths work? I saw that (I also see one such path in resolved derivations, but there it's always the same | 16:06:18 | |
In reply to @mschwaig:matrix.orgthey are values derived from either the current drv's output, or any input drv + its output. its representation is / then the nixbase32 repr of the full sha256 of either "nix-output: " or "nix-upstream-output: :<the name the output would have; so either drv's name or append a dash and the output name>" | 16:39:23 | |
| you'll have to pessimistically calculate every possible placeholder and its replacement value, then just search+replace the environment and builder args for said placeholders | 16:40:00 | |
| (note though, you may want to check the signature that gets signed for realisations if you haven't already; it might serve your needs if you just want a drv + its realised input paths signed) | 16:41:04 | |
In reply to @puck:puck.moeuh, one colon. element's not letting me edit this message :v | 16:42:22 | |
NIX_REMOTE | 20:41:29 | |
| its really badly documented but it is actually equivalent to --store internally; see my hastily scrawled notes on all env-vars used by cppnix derivatives https://docs.lix.systems/manual/lix/stable/contributing/testing.html?highlight=NIX_REMOTE#used-by-lix | 20:42:58 | |
| You can also use just use NIX_CONFIG, the one env var to rule them all | 20:48:09 | |
| mhm | 20:49:55 | |
| it seems like sometimes env-vars get introduced like NIX_ABORT_ON_WARN which should just be more NIX_CONFIG | 20:51:35 | |
| If they correspond to an option, yes | 20:55:44 | |
| Btw, you should see what we just did to derivation goal | 20:55:58 | |
| Even if you're gonna rewrite it in Rust anyways | 20:56:06 | |
| 14 Mar 2025 | ||
yeah, NIX_ABORT_ON_WARN does, i am not sure why it was added; we caught this in code review of builtins.warn | 00:04:27 | |
| No idea either | 04:20:24 | |
Continuity with Nixpkgs lib.warn, and in turn the ability to produce a trace from the first warning encountered | 08:20:46 | |
| Could be deprecated I think | 08:22:02 | |
| the functionality is used by e.g. Nixpkgs release checks but I think the question is why it's an environment variable | 15:27:32 | |
| Sounds like it should be a cli flag | 15:42:31 | |
| aaaaaaah this explains a lot as well as why it is not a CLI flag. okay. admissible I guesssssss, but bad. IMO we should fix the release checks to set the nix config instead. | 16:44:20 | |
| * aaaaaaah this explains a lot as well as why it is not a CLI flag. okay. admissible I guesssssss, but bad. IMO we should fix the release checks to set the nix config as well | 16:44:32 | |
I mean it's nix-instantiate or whatever inside a Nix derivation | 16:46:19 | |
| so it could very much just use a flag instead | 16:46:22 | |
but I think maybe it's the same environment variable that lib.warn looked at so yeah compat | 16:47:13 | |
| yeah, just needs to feature detect the nix implementation? | 16:47:16 | |
| right, yeah, compat with downstreams of nixpkgs, I guess. | 16:47:29 | |
| 17:49:47 | ||
| 15 Mar 2025 | ||
| 02:58:14 | ||