| 29 Jan 2026 |
llakala | yeah I would like autosync | 15:44:28 |
llakala | i mean I think it would be possible to do it with only nix mechanisms | 15:44:43 |
llakala | could you hash the npins.nix and see if the contents differ? | 15:45:09 |
Coca | https://discourse.nixos.org/t/nixtamal-fulfilling-pure-input-pinning-for-nix/74745 funnily I just saw this, so I'm curious how they handle it, unfortunately I cannot comment however due to my trust level so I will just poke around at it | 15:45:15 |
Coca | * https://discourse.nixos.org/t/nixtamal-fulfilling-pure-input-pinning-for-nix/74745 funnily I just saw this, so I'm curious how they handle it, though unfortunately I cannot comment due to my trust level so I will just poke around at it | 15:45:36 |
llakala | i didn't look into nixtimal too much, it only uses derivation fetchers which I find a little silly | 15:46:01 |
llakala | if you wanted to be really crazy, you could have a single npins.nix file with two attrsets within it | 15:47:16 |
llakala | ```nix
{
sources.nixpkgs = {
type = "github";
owner = "nixos";
repo = "nixpkgs";
branch = "nixos-unstable";
};
lock.nixpkgs = {
ref = "some-git-ref-here";
url = "https://github.com/nixos/nixpkgs/some-git-ref-here.tar.gz";
hash = "sha256-blahblahblah";
};
}
``` | 15:50:32 |
llakala | * ```
{
sources.nixpkgs = {
type = "github";
owner = "nixos";
repo = "nixpkgs";
branch = "nixos-unstable";
};
lock.nixpkgs = {
ref = "some-git-ref-here";
url = "https://github.com/nixos/nixpkgs/some-git-ref-here.tar.gz";
hash = "sha256-blahblahblah";
};
}
``` | 15:50:40 |
llakala | god i hate matrix | 15:50:49 |
llakala | anyways in this approach, this file is our only source of truth | 15:51:44 |
llakala | if we have some extra info in lock.nixpkgs, we could probably prevent desync by detecting when the lock and the source disagree | 15:52:43 |
Coca | the issue still pretty much remains, in nix there is no way for us to edit files to update the locks, the user would see the locks are mismatching but they'd still need to do something extra | 15:52:44 |
llakala | In reply to @coca162:matrix.org the issue still pretty much remains, in nix there is no way for us to edit files to update the locks, the user would see the locks are mismatching but they'd still need to do something extra oh yeah wait of course | 15:53:18 |
llakala | I forgot we couldn't edit files in nix | 15:53:23 |
llakala | and I was imagining we could just update the lockfile for the user | 15:53:35 |
llakala | i mean we could error out if there's a desync | 15:53:47 |
llakala | the alternative would be an in-repo minimal executable | 15:54:52 |
llakala | but I guess you couldn't call that from within a rebuild | 15:55:47 |
llakala | so you'd have to use that for all your nix commands, which seems suboptimal | 15:55:58 |
llakala | I'll have to think more about the idea | 15:56:15 |
Coca | (at which point you might as well modify something like nilla to get the full flake package honestly) | 15:58:16 |
Coca | * (at which point you might as well modify something like nilla to get the full flake-like package honestly) | 15:58:36 |
llakala | never, i'm a nilla hater (I think flake-parts-like design sucks, and prefer a simple entrypoint that does as little as possible) | 15:59:16 |
llakala | see also https://github.com/hsjobeki/mana which has some interesting ideas | 16:00:08 |
Coca | will keep it in the back of my head amongst that collection of things... | 16:01:58 |
Coca | I do find it overkill myself as well, just feels like having all these tools that are so similar shaped in so many aspects but not enough for a lot of people just means they won't be useful for most since they do need some sort of wide ranged adoption to become nice to use | 16:05:38 |
antifuchs | eh, there's a large solution space to explore; I'm ok with what I have for "home production" use in flakes, but I appreciate that people are trying for different trade-offs and seeing what things can be done there | 18:10:15 |
antifuchs | (this is a similar debate to the "one major implementation per language" / "many wildly varying implementations for a language spec" one we fought with common lisp for a long time) (: | 18:11:38 |
Zoe Z | for the installer should --extra-conf be passed once for each conf line or a single time with all the extra conf? | 19:00:21 |