Colmena | 331 Members | |
| A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena | 112 Servers |
| Sender | Message | Time |
|---|---|---|
| 1 May 2022 | ||
| 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 | |
| Another problem might be that I can't do a 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 | 21:22:25 | |
In reply to @blaggacao:matrix.orgCould 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 | |
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 | |
std has no middle ware to do that conversion for the user. | 21:24:38 | |
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 | |
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 | |
The only way to communicate metadata in std is .#__std. | 21:26:37 | |
| (by design) | 21:26:46 | |
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 | |
| The problem with the other way round is that it very fundamentally breaks a homogeneous out-of-the-box experience.
It therefore expects all tools that it ships with to be schema neutral. | 21:39:53 | |
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 | |
So for an out-of-the-box experience, std expects tooling that it ships with to be flake schema-neutral | 21:42:52 | |
std.grow, on the other hand, can't produce an output schema that doesn't correspond to the folder layout. | 21:45:16 | |
In reply to @zhaofeng:zhaofeng.liFor 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 | |
| So these actions could just provide plain 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 | |
| * 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 | |
| * 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 | ||
| Would you accept a PR to that effect, or do you prefer to do this yourself? | 13:13:52 | |
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 | ||
| 04:36:25 | ||
| 7 May 2022 | ||
| 00:45:18 | ||
| 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 | |
| AFAIK no | 00:49:48 | |
In reply to @dantefromhell:matrix.orgCheck out nixos-up https://github.com/samuela/nixos-up | 01:05:50 | |
In reply to @dantefromhell:matrix.orgColmena 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 | |
| You can probably pair it with systemd-repart to take care of partitioning as well. | 01:15:44 | |
| 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 | |
| yeah I feel there's this recursive dependency on nix all over the nix ecosystem 🤯🤮 | 01:25:48 | |
In reply to @dantefromhell:matrix.orgFor 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 | |