| 15 Aug 2021 |
David Arnold (blaggacao) | In reply to @ultranix:matrix.org what is digga.overlay.patchedNix for? It's nix with the pending follows patch. | 23:04:16 |
David Arnold (blaggacao) | In reply to @kraftnix:matrix.org i essentially have scripts for this for zfs/btrfs (which aren't currently supported 🤔, so may be worth contributing). one problem i see for install automation (unless your deploy-rs PR handles this for install) is if you are using luks and/or zfs you need some hashes for your new host (hostId for zfs, uuid for luks devices), i tend to just let this be auto-generated by nixos-generate-config but it's been a barrier for me in terms of further automation. my PR to deploy-rs esentially does just add the capability to install onto a mountpoint and changes the nixos activation script to do the work that otherwise nixos-install does.. | 23:05:41 |
ultranix | In reply to @blaggacao:matrix.org It's nix with the pending follows patch. i had to comment it out because it was failing | 23:33:44 |
David Arnold (blaggacao) | Yeah, I wanted to do a fix but got cought in a time eating chore loop today... 🤣 | 23:36:15 |
David Arnold (blaggacao) | If anyone has a standing wire to elco, maybe it's time to reiterate that the situation w.r.t. https://github.com/NixOS/nix/pull/4641 is becoming unbearable... | 23:37:33 |
David Arnold (blaggacao) | https://github.com/NixOS/nix/pull/4641#issuecomment-899128614 | 23:42:17 |
David Arnold (blaggacao) | Gytis Ivaskevicius: is your wire still standing? | 23:42:40 |
@gytis-ivaskevicius:matrix.org | How about you ask about it in rfc96 channel? | 23:47:38 |
@gytis-ivaskevicius:matrix.org | Or just dm him | 23:57:22 |
| 16 Aug 2021 |
| tomberek joined the room. | 01:33:35 |
ultranix | I didn't start using follows until devos, what's good about it? every flake follows one nixpkgs commit for example? and you wont need to download a separate one for every flake? | 01:52:07 |
David Arnold (blaggacao) | Exactly, follows are a necessary consequence of coercing inputs. Remember that overlays is not a language level implementation, but a nixpkgs idiom. | 01:55:03 |
ultranix | yes | 01:55:26 |
@timdeh:matrix.org | I mean follows help keep the closure size under control, which is fine for the flake developer, but it can cause cache misses when used unexpectedly by the consumer | 02:04:31 |
@timdeh:matrix.org | which is why I debate in my head whether nix even need such a notion (since it also complicates the design a bit) | 02:04:59 |
@timdeh:matrix.org | In my mind, it might be better to simply cache "hot" flakes like nixpkgs locally and allow flakes to remain immutable. Follows can be seen as an unexpected contract breach, since changing the inputs changes everything about the hash, and I suspect that this may even start to cause bigger headaches when CA becomes a thing. | 02:09:59 |
David Arnold (blaggacao) | Yeah, with heavy use of follows upstream caches get essentially useless. I think there is only a very nascent push to make the use of release channels more feasible at large (backporting bot). To mitigate the problems you describe, the community at large must also increasingly play by some sort of release heart beat. | 02:15:55 |
tomberek | the option to override is powerful and hence dangerous, but there are clear example of wanting it | 02:16:16 |
tomberek | i had thought that a flake without a flake.lock is very similar to a channel semantically | 02:17:06 |
@timdeh:matrix.org | yeah, I go back and forth on it. Maybe, in the future, trustix caches will simply disallow them to ensure trust, but we can still keep them 🤷 | 02:17:20 |
David Arnold (blaggacao) | Atomic pinning could also lead to combinatoric closure explosion, if not any sort of convention can sync upstream flakes effectively. | 02:19:20 |
David Arnold (blaggacao) | ... I mean, once flakes get really pervasive. | 02:19:52 |
@timdeh:matrix.org | yeah, the follows thing, as tomberek kinda mentioned, could be seen as the same sort of impurity that channels caused, but in an even sneakier fashion 😅 | 02:21:36 |
tomberek | is the fact that there is a "follows" somewhere in the chain of flakes somehow visible? is that fact tracked in a ".lock" or something? | 02:22:41 |
@timdeh:matrix.org | If done by the developer then yes, it would be tracked in the upstream lock file. As a user, you can generate your own lock file if you have the repo locally. You can also override stuff on demand with the cli | 02:23:53 |
@timdeh:matrix.org | I just don't like that it changed the upstream flake developers intentions from out under them. When flakes get more pervasive, as David Arnold (blaggacao) points out, I could imagine a lot of github issues opened by naive users not realizing that changing the inputs is the underlying cause of whatever problem they experience | 02:25:07 |
David Arnold (blaggacao) | In reply to @tomberek:matrix.org is the fact that there is a "follows" somewhere in the chain of flakes somehow visible? is that fact tracked in a ".lock" or something? not explicitly. | 02:26:06 |
@timdeh:matrix.org | I mean it's visible in the flake.nix | 02:26:30 |
tomberek | (okay, just tested it) it's tracked in the flake.lock as well. Well, so the question is: "is the tool useful enough to warrant possible misuse?" | 02:27:37 |
tomberek | or, "what can we do to mitigate misue?" | 02:28:06 |