!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

332 Members
A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena117 Servers

Load older messages


SenderMessageTime
1 May 2022
@blaggacao:matrix.orgDavid 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
@blaggacao:matrix.orgDavid 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
@blaggacao:matrix.orgDavid 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
@blaggacao:matrix.orgDavid 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
@blaggacao:matrix.orgDavid 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
@blaggacao:matrix.orgDavid 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
@blaggacao:matrix.orgDavid 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
@blaggacao:matrix.orgDavid 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
@whentze:matrix.orgWanja HentzeWould you accept a PR to that effect, or do you prefer to do this yourself?13:13:52
@blaggacao:matrix.orgDavid 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:ocjtech.usJeff joined the room.04:36:25
7 May 2022
@dantefromhell:matrix.orgdantefromhell joined the room.00:45:18
@dantefromhell:matrix.orgdantefromhellHi, 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
@schnecfk:ruhr-uni-bochum.deCRTifiedAFAIK no00:49:48
@cw:kernelpanic.cafeChinchilla 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:zhaofeng.liZhaofeng 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:zhaofeng.liZhaofeng LiYou can probably pair it with systemd-repart to take care of partitioning as well.01:15:44
@zhaofeng:zhaofeng.liZhaofeng 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:matrix.orgdantefromhellyeah I feel there's this recursive dependency on nix all over the nix ecosystem 🤯🤮01:25:48
@schnecfk:ruhr-uni-bochum.deCRTified
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
@schnecfk:ruhr-uni-bochum.deCRTifiedat least for the sd-card, this would also include partitioning02:04:00
@blaggacao:matrix.orgDavid Arnold (blaggacao) Zhaofeng Li: I recently had a chat with Rom Garbas who mentioned that nix might have a builtin nix apply in stock that would make the part of colmena's current eval.nix and similar techniques, but I'd assume with better eval cache properties. Currently that facility is not really exposed, but it's what used for nix bundle. We should sharpen our intelligence on this and prepare for it. 02:28:00
@blaggacao:matrix.orgDavid Arnold (blaggacao) Maybe we can even ask for exposure of said nix apply 02:28:24
@blaggacao:matrix.orgDavid Arnold (blaggacao)* Zhaofeng Li: I recently had a chat with Rok Garbas who mentioned that nix might have a builtin `nix apply` in stock that would make the part of colmena's current `eval.nix` and similar techniques, but I'd assume with better eval cache properties. Currently that facility is not really exposed, but it's what used for `nix bundle`. We should sharpen our intelligence on this and prepare for it.02:28:43
@zhaofeng:zhaofeng.liZhaofeng Li Any links to docs on this nix apply? 02:29:50
@blaggacao:matrix.orgDavid Arnold (blaggacao)Afaic, it's not exposed anywhere yet. I can ask for more details next week.02:32:48
@blaggacao:matrix.orgDavid Arnold (blaggacao)I assume the main benefit is that the cache integrity of the flake is not destroyed.02:33:09
@blaggacao:matrix.orgDavid Arnold (blaggacao)Ot came up during a discussion about nix-eval-cavhe.02:33:22
@blaggacao:matrix.orgDavid Arnold (blaggacao)* Ot came up during a discussion about nix-eval-cache.02:33:31
@blaggacao:matrix.orgDavid Arnold (blaggacao)Maybe this? https://github.com/NixOS/nix/blob/master/src/nix/bundle.cc#L7802:37:29

Show newer messages


Back to Room ListRoom Version: 6