!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
26 Apr 2022
@phaer:matrix.orgphaer changed their display name from Paul Haerle to phaer.10:29:13
30 Apr 2022
@duponin:alternativebit.frduponin joined the room.05:32:14
@blaggacao:matrix.orgDavid Arnold (blaggacao)

Zhaofeng Li: congrats to 0.3.0! Shall I rebase https://github.com/zhaofengli/colmena/pull/73

Just in te.yo continue my experients to make a 'native' colmenaConfiguration clade for divnix/std 🙂

16:20:20
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @blaggacao:matrix.org

Zhaofeng Li: congrats to 0.3.0! Shall I rebase https://github.com/zhaofengli/colmena/pull/73

Just in te.yo continue my experients to make a 'native' colmenaConfiguration clade for divnix/std 🙂

Yes, please do ♥️
16:55:45
1 May 2022
@cw:kernelpanic.cafeChinchilla Washington changed their display name from ContinuousWave to Chinchilla Washington.06:51:33
@blaggacao:matrix.orgDavid Arnold (blaggacao) Zhaofeng Li: host dns or static ips or ssh config alias might only be known after an initial (metal) deployment task has returned. I think it might make sense to get a map of these values from an auxiliary json file. Have you thought about this workflow / use case, already? 17:47:21
@blaggacao:matrix.orgDavid Arnold (blaggacao) I mean it's easy with nix. Just want to make sure I'm not actually re-inventing something. 17:48:09
@blaggacao:matrix.orgDavid Arnold (blaggacao)Rebased.18:39:34
@blaggacao:matrix.orgDavid Arnold (blaggacao) I'm also thinking maybe it's in order for keeping colmena maintainable to refactor it to use two different libraries, one for classical nix and one for flakes. Switch case at the leaves is the source of all evil, imo. 18:42:37
@blaggacao:matrix.orgDavid Arnold (blaggacao)* I'm also thinking maybe it's in order for keeping `colmena` maintainable to refactor it to use two different libraries, one for classical nix and one for flakes. Switch case at the leaves is the source of all evil, imo. I've decent trouble unwinding the double lane reasoning when going through the code. Took me maybe already 2-3 days.18:43:42
@blaggacao:matrix.orgDavid Arnold (blaggacao)In any way, ideally the compatibility layer wouldn't bleed too much into the code, if that makes sense.18:44:47
@blaggacao:matrix.orgDavid Arnold (blaggacao) Yet another low level suggestion: are you interested in clap_derive? I find that so much more readable in most circumstances. And I think it also uses less LoCs 19:10:43
@zhaofeng:zhaofeng.liZhaofeng LiYes, migrating to the new Derive API has been in the back burner for a while20:02:44
@zhaofeng:zhaofeng.liZhaofeng Li That's already possible to do yourself with fromJSON. I'm a bit wary of blessing any specific format in Colmena itself, to keep it lean and "provisioner-agnostic" 20:07:36
@blaggacao:matrix.orgDavid Arnold (blaggacao) K, so I implemented a hidden flag --eval that can swap eval.nix for a different implementation. This way, I can query .#__std metadata to autodetect colmenaConfigurations and make them available to the colmena CLI. 🎉 Will be testing this in a bit. 20:17:44
@blaggacao:matrix.orgDavid Arnold (blaggacao)Totally agree!20:18:15
@zhaofeng:zhaofeng.liZhaofeng LiI'm not really sure about this, as I don't want to guarantee any compatibility for the internal eval API. It limits refactorability and can lead to errors indecipherable to the average user.20:29:48
@blaggacao:matrix.orgDavid Arnold (blaggacao) Hm, I see. Alternatively I could just patch colmena, but that would make me responsible for building and caching, which I generally try to avoid. 20:42:02
@blaggacao:matrix.orgDavid Arnold (blaggacao)The problem I have with the built-in interface is that it pertains to 'nix as boilerplate' which is fine for power-users but usually quite a non-starter for nix-newbies.20:42:50
@blaggacao:matrix.orgDavid Arnold (blaggacao)It is a real challenge to present newcomers with a consistent and well-designed system that is explicitly free of adapter code and boilerplate.20:43:34
@blaggacao:matrix.orgDavid Arnold (blaggacao) But on the other hand, ofc, I don't claim that std layout should be any officially supported layout. 20:43:59
@blaggacao:matrix.orgDavid Arnold (blaggacao) With that draft PR I was thinking to ship a wrapped colemena version with std that makes use of the --eval flag and a custom / purpose-built evaluator. 20:45:57
@blaggacao:matrix.orgDavid Arnold (blaggacao) By not documenting that --eval flag, maybe we might have found an acceptable solution? I'm happy to follow-up on the internal interface when there are changes. 20:47:19
@blaggacao:matrix.orgDavid Arnold (blaggacao) .hide(true), that is. 21:00:11
@zhaofeng:zhaofeng.liZhaofeng Li I know what you mean, but I'm still not convinced that this brings enough benefits for the headaches it will cause (any addition to eval.nix will break this contract). Can your growOn expose a "normal" outputs.colmena/outputs.colmenaConfigurations? 21:13:40
@blaggacao:matrix.orgDavid Arnold (blaggacao)Yes it can, but it's not an option due to the non-nix natives that would be confused by this boilerplate.21:14:47
@blaggacao:matrix.orgDavid Arnold (blaggacao) Also the problem gets exacerbated by the handling of system. 21:15:25
@blaggacao:matrix.orgDavid Arnold (blaggacao) Essentially, nixosConfigurations live in all top-level system spaces, but are filtered out if the systems don't match. Reducing that to q multi-system typed outputs.colmena would be probably the largest chunk of any stdized flake and pure boilerplate. 21:16:50
@blaggacao:matrix.orgDavid Arnold (blaggacao)* 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 `std`ized flake and pure boilerplate.21:17:12
@blaggacao:matrix.orgDavid 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

Show newer messages


Back to Room ListRoom Version: 6