| 23 Aug 2022 |
| Echo joined the room. | 00:49:08 |
| rewine joined the room. | 11:32:18 |
| @mlyx:matrix.org joined the room. | 17:09:22 |
| 27 Aug 2022 |
farcaller | is it typical to define something like fileSystems."/" ... or all the boot.* in defaults? I'm using virtualization/kubevirt.nix profile for nixos-generate but it seems that I need to copy its contents over to make things tick. | 16:58:46 |
| 29 Aug 2022 |
Zhaofeng Li | (missed this) Hmm, maybe there is something else. Have you tried --show-trace? | 15:50:39 |
Zhaofeng Li | You can use everything that nixos-generate generated for you. A typical pattern is:
{
alpha = import ./hosts/alpha/configuration.nix;
}
| 15:52:29 |
| 30 Aug 2022 |
| @aruzeta:matrix.org joined the room. | 14:41:55 |
| @aruzeta:matrix.org left the room. | 14:56:00 |
| 2 Sep 2022 |
| problems changed their display name from ash (it/its) 🏳️⚧️ to problems. | 14:04:40 |
| @yuka:yuka.dev joined the room. | 14:32:33 |
@yuka:yuka.dev | heya | 14:38:35 |
@yuka:yuka.dev | So... I'm looking at colmena for replacing my own 100 line deployment module. | 14:44:43 |
@yuka:yuka.dev | It seems like the design is quite similar, with nodes (in my case they are called hosts) being passed in as specialArgs | 14:45:00 |
@yuka:yuka.dev | What I don't like at all is that colmena itself is not tracked at a flake dependency | 14:45:30 |
@yuka:yuka.dev | And that it has its own evaluation entry points | 14:45:43 |
@yuka:yuka.dev | It would be way cooler if colmena was a flake, that provides a function makeHive | 14:46:07 |
@yuka:yuka.dev | colmena could then use .# as entry point with the output of makeHive providing the necessary things. And the colmena package itself could be re-exported to my flake. So that I do nix run .#colmena apply and it uses the colmena version pinned in my flake. | 14:50:02 |
@yuka:yuka.dev | As a bonus, it would remove the need for this wrapper flake to get pure evaluation | 14:50:43 |
@yuka:yuka.dev | Another bonus: This could make it possible to be compatible with nixosConfigurations and nixos-rebuild and so on | 15:14:47 |
tpw_rules | ^ | 16:46:57 |
@linus:schreibt.jetzt | Yeah, I've previously suggested this but it wasn't a direction Zhaofeng Li was particularly interested in :/ | 16:47:39 |
@linus:schreibt.jetzt | I'm currently doing a hack like
nixosConfigurations = lib.mapAttrs (name: config: let
nodeNixpkgs = self.outputs.colmena.meta.nodeNixpkgs.${name} or self.outputs.colmena.meta.nixpkgs;
nodeNixos = import (nodeNixpkgs.path + "/nixos/lib/eval-config.nix");
in nodeNixos {
modules = [
self.outputs.colmena.defaults
config
inputs.colmena.nixosModules.deploymentOptions
{
_module.args.name = name;
_module.args.nodes = self.outputs.nixosConfigurations;
nixpkgs.overlays = [ nodeNixpkgs.lib.flakeOverlay (import ./overlay.nix) ];
}
];
inherit (nodeNixpkgs) system;
}
) (builtins.removeAttrs self.outputs.colmena ["meta" "defaults"]);
to be able to get at least an approximation of the configs (enough to be able to build it in hydra, for example)
| 16:48:55 |
@linus:schreibt.jetzt | but I think sooner or later I'll be switching to another tool that actually wants to support this, possibly deploy-rs | 16:49:18 |
@linus:schreibt.jetzt | Of course now I can't find the old messages where we discussed this... I guess it was before I moved homeservers | 16:53:28 |
Zhaofeng Li | I would be on-board if the Colmena flake is generating the nixosConfigurations-like structure with Colmena-specific metadata (this is similar to the evaluator idea that @blaggacao is proposing) rather than consuming an existing nixosConfigurations. We would need some versioning/schema contract to ensure compatibility between the flake output and the Colmena executable. | 18:26:56 |
@yuka:yuka.dev | You could just tell the users that the colmena binary has to be from the exact same version as the hive expression | 18:28:22 |
@yuka:yuka.dev |
And the colmena package itself could be re-exported to my flake. So that I do nix run .#colmena apply and it uses the colmena version pinned in my flake.
| 18:28:59 |
@yuka:yuka.dev | And yes, the hive expression should output nixosConfigurations-like structure, the input would be similar to what outputs.colmena is currently | 18:29:50 |
@blaggacao:matrix.org | So you mean something like:
mkFlake ...
->
nixosConfigurations = ...
__colmena = ...
| 18:29:51 |
@blaggacao:matrix.org | * So you mean something like: ?
```
mkFlake ...
```
->
```
nixosConfigurations = ...
__colmena = ...
``` | 18:30:45 |