Nix Package Manager development | 864 Members | |
| For people hacking on Nix: https://github.com/NixOS/nix Nix maintainers can be reached here. | 184 Servers |
| Sender | Message | Time |
|---|---|---|
| 20 Apr 2025 | ||
| b: IIRC there was some long hanging fruit possibly without 7730, but reusing input lock files would solve adjacent issues | 11:55:54 | |
| Robert Hensing (roberth): hmm, I assumed that you can't reach across subflakes without going through the inputs, is that not true? It's why I thought you could just find all Anyway thanks for response — it seems that subflakes are not quite ready for more complex use-cases yet, I'll guess I'll do something simpler for now and watch issue 7730 for updates, so I can at least help with testing. | 15:33:16 | |
| I have explored a concept before where a flake could be composed of multiple sub-components that had inter-related inputs. It is different from what are normally called sub-flakes, but I think is closer to what people are expecting them to be. I called it "crystals" and the initial proof-of-concept was a relatively simple matter of searching through a source tree for all crystal.nix files and merging their inputs into the root's lockfile: https://github.com/flox/nix/commit/8a684bdee6009e6375e855ed79bb9c532dae805c . | 16:50:24 | |
| Inputs would "bubble-up" into the root lockfile to store a canonical lock, and also "bubble-down" as inputs available for each sub-crystal to use. | 16:51:59 | |
| 21 Apr 2025 | ||
| there really needs to be better docs on how to calculate placeholder paths | 12:50:36 | |
In reply to @Las:matrix.orghttps://snix.dev/rustdoc/src/nix_compat/store_path/utils.rs.html#205-209 | 17:38:22 | |
| is this for CA too? | 17:38:51 | |
| No idea | 17:40:31 | |
In reply to @Las:matrix.orgThis helped me implementing the CA ones: https://github.com/puckipedia/tarnix/blob/canon/ca-placeholder.nix | 17:45:14 | |
| this is cursed | 17:46:42 | |
| ^_^ | 19:14:37 | |
| most of the logic in that file is to properly adjust stringLength output to the post-substitution paths, even, the actual logic there is like three lines | 19:18:01 | |
| 22 Apr 2025 | ||
In reply to @tomberek:matrix.orgInteresting, but I think this loses the useful property of scoping inputs to some subflake, such as development inputs. For this to be equivalent, I think it would have to have some concept of development (name to be biskeshed) inputs that are only fetched if actually used (e.g. a devshell using them is entered or something). Not sure how much more complex this would have made the implementation. | 07:01:37 | |
| This is the dependencies / devDependencies problem, and whether to transitively propagate dev dependencies inputs | 10:06:56 | |
| I'm not sure there's been some scoping out around this yet, but it's one of the issues with the current design. | 10:13:23 | |
| Any ideas what change this could be related to? Is this a bug or where there conscious changes to restrict-eval? I looked at the changelogs but nothing jumped out to me (maybe the relative flake change?) https://github.com/NixOS/nixpkgs/issues/400784 | 10:15:13 | |
can you try nix-shell -i bash -p coreutils jq nix -I nixpkgs=.? | 10:59:59 | |
* can you try nix-shell -p coreutils jq nix -I nixpkgs=.? | 11:00:16 | |
| sorry, edited | 11:00:21 | |
| sure, that works fine | 11:01:17 | |
and then also bash {that script} | 11:01:22 | |
| but with the dependencies in $PATH | 11:01:35 | |
in like nix shell or something | 11:02:27 | |
| well, it's supposed to fail pretty fast right? if so i can't reproduce this problem | 11:04:14 | |
i'm on aca270648eca which is latest master of writing | 11:06:18 | |
hmm I can with nix-instantiate --eval --option restrict-eval true -I . ./maintainers/scripts/haskell/transitive-broken-packages.nix on current master | 11:08:40 | |
| it's possible that it's because of a daemon / frontend version mismatch then | 11:09:10 | |
| it hasn't finished but it's doing something for me and hasn't failed yet | 11:09:26 | |
| then it works :) | 11:09:35 | |
| I'll ask the other Haskell ppl if no one else can repro it, it doesn't matter probably the daemon | 11:10:03 | |