| 1 May 2022 |
David Arnold (blaggacao) | I mean, my use case is explicitly to make the use of nix friendly enough that strong & principled nix opponents don't veto everything. | 21:18:13 |
David Arnold (blaggacao) | Another problem might be that I can't do a std-native colmenaConfig action. Because for it to work, any end user would have to replicate that boilerplate.
That also means that we directly load the problem of schema-drift out to all the future end users of that boilerplate.
In this scenario, I think it's better for me to maintain this centrally and collocate colmena and schema with pinned versions. | 21:22:25 |
Zhaofeng Li | In reply to @blaggacao:matrix.org Essentially, nixosConfigurations live in all top-level system spaces, but are filtered out if the systems don't match. Reducing that to a multi-system typed outputs.colmena would be probably the largest chunk of any stdized flake and pure boilerplate. Could you elaborate? All the conversion can be done in your opinionated std layer, and there is no boilerplate from the user's perspective if they buy into your view. | 21:22:56 |
David Arnold (blaggacao) | Well, the flake.nix is a user flake. It needs to have a co.pat layer right there to work with colmena. | 21:24:01 |
David Arnold (blaggacao) | std has no middle ware to do that conversion for the user. | 21:24:38 |
David Arnold (blaggacao) | Essentially, std has just gotten rid of it's last compatibility layer that projected the schema onto something that nix itself requires. | 21:25:41 |
David Arnold (blaggacao) | The reason is that rhe end user should also have a consistent view of the std mental model when entering the repl. | 21:26:17 |
David Arnold (blaggacao) | The only way to communicate metadata in std is .#__std. | 21:26:37 |
David Arnold (blaggacao) | (by design) | 21:26:46 |
Zhaofeng Li | So you are essentially expecting all tools to be .#__std-aware (either natively or through some out-of-tree hackery like this), not the other way around. I'm not sure that this is a workable way forward. | 21:33:54 |
David Arnold (blaggacao) | The problem with the other way round is that it very fundamentally breaks a homogeneous out-of-the-box experience.
std expects for it's purpose (and within it's boundaries) self.outputs to be it's exclusive domain.
It therefore expects all tools that it ships with to be schema neutral. | 21:39:53 |
David Arnold (blaggacao) | If adapters are necessary, they can be done by the user via std.growOn. But the user has to conscientiously implement those adapters. | 21:41:07 |
David Arnold (blaggacao) | So for an out-of-the-box experience, std expects tooling that it ships with to be flake schema-neutral | 21:42:52 |
David Arnold (blaggacao) | std.grow, on the other hand, can't produce an output schema that doesn't correspond to the folder layout. | 21:45:16 |
David Arnold (blaggacao) | In reply to @zhaofeng:zhaofeng.li So you are essentially expecting all tools to be .#__std-aware (either natively or through some out-of-tree hackery like this), not the other way around. I'm not sure that this is a workable way forward. For clarification, that is actually not technically correct. .#__std is the mechanism by which metadata is transferred to the TUI, including actions. Those actions can transport an arbitrary command sequence. | 22:45:34 |
David Arnold (blaggacao) | So these actions could just provide plain colmema commands with its built-in schema.
But then, I couldn't provide such actions out of the box, because they would depend on the compatibility layer, which is the user's domain. | 22:47:14 |
David Arnold (blaggacao) | * So these actions could just provide plain `colmena` commands with its built-in schema.
But then, I couldn't provide such actions out of the box (for `copmena`), because they would depend on the compatibility layer, which is the user's domain. | 22:47:40 |
David Arnold (blaggacao) | * So these actions could just provide plain `colmena` commands with its built-in schema.
But then, I couldn't provide such actions out of the box (for `colmena`), because they would depend on the compatibility layer, which is the user's domain. | 22:47:47 |
| 2 May 2022 |
Wanja Hentze | Would you accept a PR to that effect, or do you prefer to do this yourself? | 13:13:52 |
David Arnold (blaggacao) | Zhaofeng Li: I added a harvester: https://github.com/divnix/std/issues/60#issue-1223217085 for easier compat. But it still wouldn't accept to be system-neutral. That mapping is just too complicated. | 18:43:27 |
| 6 May 2022 |
| Jeff joined the room. | 04:36:25 |
| 7 May 2022 |
| dantefromhell joined the room. | 00:45:18 |
dantefromhell | Hi,
I just stumbled over colmena when research tools to deploy Nix from flakes onto a variety of machines (laptop, VMs, servers, Raspberry).
One thing I couldnt figure out though if it's possible to automate the initial nix install (incl partitioning) with colmena? | 00:49:28 |
CRTified | AFAIK no | 00:49:48 |
Chinchilla Washington | In reply to @dantefromhell:matrix.org
Hi, I just stumbled over colmena when research tools to deploy Nix from flakes onto a variety of machines (laptop, VMs, servers, Raspberry).
One thing I couldnt figure out though if it's possible to automate the initial nix install (incl partitioning) with colmena? Check out nixos-up https://github.com/samuela/nixos-up | 01:05:50 |
Zhaofeng Li | In reply to @dantefromhell:matrix.org Hi, I just stumbled over colmena when research tools to deploy Nix from flakes onto a variety of machines (laptop, VMs, servers, Raspberry).
One thing I couldnt figure out though if it's possible to automate the initial nix install (incl partitioning) with colmena? Colmena only deploys to existing NixOS hosts and doesn't take care of the initial install. To install onto bare-metal hosts, I've been using this external script to replace nixos-install to deploy from a Colmena config: https://github.com/zhaofengli/colmena/issues/42#issuecomment-1004528027 | 01:14:45 |
Zhaofeng Li | You can probably pair it with systemd-repart to take care of partitioning as well. | 01:15:44 |
Zhaofeng Li | Wanja Hentze: Somehow I didn't get notified of this message. If you are interested in doing that, please send a PR! | 01:17:22 |
dantefromhell | yeah I feel there's this recursive dependency on nix all over the nix ecosystem 🤯🤮 | 01:25:48 |
CRTified | In reply to @dantefromhell:matrix.org Hi, I just stumbled over colmena when research tools to deploy Nix from flakes onto a variety of machines (laptop, VMs, servers, Raspberry).
One thing I couldnt figure out though if it's possible to automate the initial nix install (incl partitioning) with colmena? For systems which you provision externally ("dd a ready-to-go-image on an sd-card", you could also define your config while importing sd-image-aarch64.nix from nixpkgs. Then, you could build the config.system.build.sdImage-attribute and use the resulting image on your device 🙂 | 02:03:26 |