Nixpkgs Architecture Team | 231 Members | |
| https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture | 53 Servers |
| Sender | Message | Time |
|---|---|---|
| 10 Jul 2022 | ||
| And then it's ab/cd/abcd.json | 15:50:43 | |
| Btw if we're concerned about performance, there's also the option of adding Nix builtins to speed up certain operations | 15:51:20 | |
| Assuming we still have .nix that seems unnecessary. It would be interesting to see their rationale. | 15:51:31 | |
Maybe even a builtins.prefixedAutocall | 15:51:32 | |
| I think some sort of ProxyAttrs that allowed overriding lookup and iteration would be the generic option. But we could also just hardcode the lookup scheme that we pick. | 15:52:26 | |
| Oh I see, so you mean to allow people to specify some file outside of nixpkgs for a specific attribute for development? | 15:53:27 | |
| I think that's very unproblematic, an overlay can already be used for that | 15:54:31 | |
| I'm thinking something like this. (For a flat solution)
Then for the common case of | 15:56:13 | |
| Ah! Yes that's an interesting idea and could have many other useful applications | 15:57:24 | |
| To all other Nix code it would behave like a regular attrs of all packages except as long as you never do something that requires listing attributes it doesn't have to build the full set. | 15:57:29 | |
| (IDK if we need other primitive operations but they can be added easily. We can also do caching to ensure that it is pure) | 15:58:11 | |
| Yeah, for nixpkgs we can make as complicated of a lookup as we like, include 1 or 2 level and whatnot. We can also fall back to the current all-packages.nix attr for transition. | 15:59:05 | |
| This could also be polyfilled for older NIxes by eagerly computing the real attrs. | 16:07:43 | |
| * This could also be polyfilled for older NIxes by eagerly computing the a attrset. | 16:09:26 | |
| * This could also be polyfilled for older NIxes by eagerly computing the resulting attrset. | 16:17:37 | |
| 11 Jul 2022 | ||
| Slightly related: I just noticed
| 11:01:01 | |
| 12:39:14 | ||
| 12:45:26 | ||
| 12:45:49 | ||
| 12:49:24 | ||
| 13:31:16 | ||
| 15:18:42 | ||
| 18:48:48 | ||
In reply to @j-k:matrix.orgReally common for hash based directory structures to keep the amount of things in a directory smaller | 23:54:06 | |
| Because if you have a lot a lot of files in a directory listing that gets show | 23:54:32 | |
| * Because if you have a lot a lot of files in a directory listing that gets slow | 23:54:37 | |
| 12 Jul 2022 | ||
/nix/store laughs. | 00:42:06 | |
| But honestly it is generally better to let the storage system do something optimal. Especially for this case where the prefix will depend on human-chosen names. However we know at least that GitHub handles this poorly and that Git doesn't do anything clever at the moment. So we do need to meet our tools. | 00:43:23 | |
| /nix/store is stored locally, rarely listed and mostly accessed by the entry name. That's why we get get away with FS choosing optimal representation for it (hash tree usually). I wonder why such nested structure was chosen for logs though. | 05:40:25 | |
In reply to @kevincox:matrix.org I really like that idea. Especially as it allows to add a package by just dropping a file somewhere. Having to edit some Assuming overrides are still a thing at the time when this gets implemented, we'd have to find a new solution for the default
For example, if we have packages
/he/ll/foobar.nix could look like this:
| 08:47:07 | |