| 21 Oct 2022 |
@yuka:yuka.dev | or use it with something that's not even nixos | 14:41:20 |
@yuka:yuka.dev | and of course don't forget to import inputs.colmena.nixosModules.deploymentOptions somewhere | 14:44:21 |
@yuka:yuka.dev | I could theoretically do that in the colmena-compat module | 14:45:00 |
@yuka:yuka.dev | but then not sure how to match the versions | 14:45:29 |
Zhaofeng Li | In reply to @yuka:yuka.dev
nodes.nix
# This is NOT a normal colmena hive definition
# We are using our own suxin module system
{ lib, inputs, ... }:
{
defaults = {
specialArgs = { inherit inputs; };
nixpkgs = lib.mkDefault inputs.nixpkgs;
configuration = import ./common;
};
nodes = {
hifipi.configuration = import ./hosts/hifipi/configuration.nix;
monitor.configuration = import ./hosts/monitor/configuration.nix;
tvpi.configuration = import ./hosts/tvpi/configuration.nix;
yaya.configuration = import ./hosts/yaya/configuration.nix;
net-vm.configuration = import ./hosts/net-vm/configuration.nix;
yoyo.configuration = import ./hosts/yoyo/configuration.nix;
mari.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
mari.configuration = import ./hosts/mari/configuration.nix;
yuyu.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
yuyu.configuration = import ./hosts/yuyu/configuration.nix;
};
}
Cool, how is the experience using a musl-based environment? | 17:53:34 |
Zhaofeng Li | Been wanting to use a Nix-based iSH rootfs, but glibc stuff has a tough time running on it: https://github.com/ish-app/ish/pull/1812 | 17:53:36 |
@yuka:yuka.dev | In reply to @zhaofeng:zhaofeng.li Cool, how is the experience using a musl-based environment? part of the experience: track a nixpkgs fork with a few patches applied, though they should soon(tm) upstream | 17:58:46 |
@yuka:yuka.dev | and apply this overlay here: https://cyberchaos.dev/cyberchaoscreatures/musl-nixos/-/blob/main/overlay.nix | 17:59:19 |
@yuka:yuka.dev | and expect stuff to be broken | 17:59:32 |
@yuka:yuka.dev | In reply to @zhaofeng:zhaofeng.li Cool, how is the experience using a musl-based environment? * part of the experience: track a nixpkgs fork with a few patches applied, though they should soon(tm) upstream | 18:01:27 |
Zhaofeng Li | In reply to @yuka:yuka.dev
[ERROR] Failed to evaluate net-vm, monitor, tvpi, and 11 other nodes - Last 5 lines of logs:
[ERROR] created)
[ERROR] state) Running
[ERROR] stderr) error: unrecognised flag '--expr'
[ERROR] stderr) Try '/nix/store/i3avjvyfgw0ypbb5sq7w5f5d6xhyy586-nix-eval-jobs-2.9.0/bin/nix-eval-jobs --help' for more information.
[ERROR] failure) Child process exited with error code: 1
[ERROR] Failed to complete requested operation - Last 1 lines of logs:
[ERROR] failure) Child process exited with error code: 1
[ERROR] -----
[ERROR] Operation failed with error: Child process exited with error code: 1
(scrolling back)
If you are building colmena with callPackage instead of from the flake, you need to use the latest version of nix-eval-jobs
| 19:44:58 |
Zhaofeng Li | It has a PR that hasn't landed in a release yet. | 19:45:47 |
@yuka:yuka.dev | Thx | 20:32:08 |
| 22 Oct 2022 |
roshan | byteio.in 🌷 | Redacted or Malformed Event | 03:28:00 |
roshan | byteio.in 🌷 |  Download image.png | 04:44:53 |
roshan | byteio.in 🌷 | how can i pass different key for each host in colmena ? | 04:45:23 |
@palo:xaos.space | In reply to @ronixx:matrix.org how can i pass different key for each host in colmena ? maybe use ~/.ssh/config to configure which hosts should use which key. Or is ssh-ng ignoring that? | 12:43:19 |
| @sofo:matrix.org joined the room. | 17:00:09 |
| 23 Oct 2022 |
@blaggacao:matrix.org | Hi Zhaofeng Li !
I beleive colmena eval was only ever made to be impure (so the --impure option might be a mistake), see:
introspect = f:
f {
lib = nixpkgs.lib // builtins;
pkgs = nixpkgs.legacyPackages.${builtins.currentSystem};
nodes = l.mapAttrs (evalNode {_module.check = false;}) comb;
};
| 02:30:42 |
@blaggacao:matrix.org | * Hi Zhaofeng Li !
I beleive colmena eval was only ever made to be impure (so the --impure option might be a mistake), see builtins.currentSystem in:
introspect = f:
f {
lib = nixpkgs.lib // builtins;
pkgs = nixpkgs.legacyPackages.${builtins.currentSystem};
nodes = l.mapAttrs (evalNode {_module.check = false;}) comb;
};
| 02:30:57 |
@blaggacao:matrix.org | Or am I missing something? | 02:31:38 |
@blaggacao:matrix.org | So I made use of the new colmenaHive output 🦾
That's a super nice iface, imo.
- make honey: https://github.com/divnix/hive/blob/main/make-honey.nix
- fill it in the jar: https://github.com/divnix/hive/blob/d7119b1d5d1fd6f88c2d0c051c1512ff0edaa91f/flake.nix#L78-L84
- pollen: https://github.com/divnix/hive/blob/d7119b1d5d1fd6f88c2d0c051c1512ff0edaa91f/comb/_QUEEN/colmenaConfigurations.nix#L8-L21
| 06:29:48 |
@blaggacao:matrix.org | What I do not understand as much as I try, is why I get an infinit recursion when I try to freeformType evaluate the entire configuration, including all imports. https://github.com/divnix/hive/blob/main/make-honey.nix#L83-L85 | 15:45:23 |
@linus:schreibt.jetzt | In reply to @blaggacao:matrix.org What I do not understand as much as I try, is why I get an infinit recursion when I try to freeformType evaluate the entire configuration, including all imports. https://github.com/divnix/hive/blob/main/make-honey.nix#L83-L85 Probably because options depends on imports | 15:47:12 |
@blaggacao:matrix.org | What I did is I already used a custom assertion implementation under config.erased to avoid most part.of that | 15:48:23 |
@blaggacao:matrix.org | * What I did is I already used a custom assertion implementation under `config.erased` to avoid most part of that | 15:48:30 |
@blaggacao:matrix.org | But it seems like the check = true; still want's to eagerly check all options and definitions. Even though the freeformType is undefined (amd should neither check anything, nor merge). | 15:49:41 |
@blaggacao:matrix.org | I even tried to replicate the "sink" type (which btw seems broken upstream), explicitly muting the merge function. | 15:50:20 |
@blaggacao:matrix.org | * But it seems like the `check = true;` still want's to eagerly check all options and definitions. Even though the freeformType is `undefined` (and should neither check anything, nor merge). | 15:50:42 |
@blaggacao:matrix.org | Or maybe you mean something else than what I understood? | 15:55:43 |