!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
23 Oct 2022
@blaggacao:matrix.orgDavid Arnold (blaggacao) Above all, this looks like a boundary violation of lib.evalModules itself, which appears to depend on pkgs, but without ensuring it. 16:12:30
@blaggacao:matrix.orgDavid Arnold (blaggacao) * Above all, this looks like a boundary violation of lib.evalModules itself, which appears to depend on pkgs, but without apparently ensuring its presence. 16:12:49
@blaggacao:matrix.orgDavid Arnold (blaggacao) ... or maby that's rather a side offect of wanting to eval a particular module, whithout (me) ensuring said contract, but as soon as I add something reasonable as pkgs, I get an infinite recursion. 16:13:55
@blaggacao:matrix.orgDavid Arnold (blaggacao)
error: infinite recursion encountered

       at /nix/store/5y5ndnbgvv6mfknnxv48v1swznc5g6wx-source/lib/modules.nix:712:9:

          711|     in warnDeprecation opt //
          712|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
             |         ^
          713|         inherit (res.defsFinal') highestPrio;
(use '--show-trace' to show detailed location information)
16:15:37
@blaggacao:matrix.orgDavid Arnold (blaggacao)

coming somewhere from there:

       at /nix/store/5y5ndnbgvv6mfknnxv48v1swznc5g6wx-source/lib/modules.nix:728:137:

          727|         defs' = concatMap (m:
          728|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
             |                                                                                                                                         ^
          729|         ) defs;

       … while evaluating definitions from `/nix/store/5y5ndnbgvv6mfknnxv48v1swznc5g6wx-source/nixos/modules/installer/cd-dvd/installation-cd-base.nix':
16:17:22
@blaggacao:matrix.orgDavid Arnold (blaggacao) (modules/installer/cd-dvd/installation-cd-base.nix) 16:17:37
@blaggacao:matrix.orgDavid Arnold (blaggacao) I think I found it, regular modules accessing config.system is recursive... 16:40:04
@blaggacao:matrix.orgDavid Arnold (blaggacao)image.png
Download image.png
17:23:55
@blaggacao:matrix.orgDavid Arnold (blaggacao) Zhaofeng Li: the streaming evaluator shows this warning (--gc-roots-dir) (fysa) 17:24:05
@blaggacao:matrix.orgDavid Arnold (blaggacao)And this fixed my above problem 😄 https://github.com/divnix/hive/commit/e1baaaec17524abb5cc00377082cebe8d738a23817:24:53
@blaggacao:matrix.orgDavid Arnold (blaggacao) * And this fixed my above problem 😄 https://github.com/divnix/hive/commit/f532568755835426047a60ca215b764480b10e5717:25:56
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @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;
      };

Hmm, could you link the code? The current implementation is: https://github.com/zhaofengli/colmena/blob/956c3363b875695fba30a5a8033dc543c2cd4326/src/nix/hive/eval.nix#L193
20:08:18
@zhaofeng:zhaofeng.liZhaofeng Li

Ah, it's in your make-honey.nix, missed it. But the options should be passed correctly and there is no --impure:

$ colmena eval -E '{...}: builtins.currentSystem'
warning: Git tree '/home/zhaofeng/Git/fleet' is dirty
[INFO ] Using flake: git+file:///home/zhaofeng/Git/fleet?dir=nix
error: attribute 'currentSystem' missing
20:14:46
@blaggacao:matrix.orgDavid Arnold (blaggacao) I just made a make-mead for nixos-generators, works pretty much the same way (and thereby makes colmena and nixos-generate two CLI of the same kind, sort of). Required really just a very small fix to nixos-generators 21:13:34
@blaggacao:matrix.orgDavid Arnold (blaggacao) make-mead 21:18:00
@blaggacao:matrix.orgDavid Arnold (blaggacao)

Zhaofeng Li: re https://github.com/NixOS/nix/pull/6530#issuecomment-1288195277

I wonder if there is a possibility to leverage the nix bundler interface instead of making a synthetic wrapper-flake...

But I haven't really dug deep on this, just planning to do this for styx...

22:41:37
31 Oct 2022
@v:meowy.tech@v:meowy.techimage.png
Download image.png
07:54:15
@v:meowy.tech@v:meowy.techrunning into this error when provisioning a new machine, anyone know what could cause this or how to fix it?07:54:36
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @v:meowy.tech
sent an image.
There isn't a username in ssh-ng://your_ip, did you set deployment.targetUser to null? If so, then the default user it connects as (same as your username if you didn't configure anything) isn't trusted by the Nix daemon
09:17:06
@v:meowy.tech@v:meowy.tech
In reply to @zhaofeng:zhaofeng.li
There isn't a username in ssh-ng://your_ip, did you set deployment.targetUser to null? If so, then the default user it connects as (same as your username if you didn't configure anything) isn't trusted by the Nix daemon
ah yeah that's likely it, thanks
09:39:34
2 Nov 2022
@yuu:matrix.orgYuu Yin joined the room.00:49:52
@rendakuenthusiast:imperishable.name@rendakuenthusiast:imperishable.nameonce I've transitioned a nixos server onto colmena, what's the correct thing to do with the existing /etc/nixos/configuration.nix file?01:25:46
@rendakuenthusiast:imperishable.name@rendakuenthusiast:imperishable.namepresumably that file no longer has any relationship to the actual configuration of the server?01:26:05
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @rendakuenthusiast:imperishable.name
once I've transitioned a nixos server onto colmena, what's the correct thing to do with the existing /etc/nixos/configuration.nix file?
It no longer has any relationship to the actual config and can be deleted. You can also put a fake nixos-rebuild script into systemPackage so you don't accidentally run the actual rebuild on the machine.
01:42:50
@rendakuenthusiast:imperishable.name@rendakuenthusiast:imperishable.name Zhaofeng Li: any guidelines for how to write that fake script? 01:44:51
@zhaofeng:zhaofeng.liZhaofeng Li

It can be something like

(pkgs.writeShellScriptBin "nixos-rebuild" ''
  >&2 echo "This machine is managed by Colmena."
  exit 1
'')

(you may need to tweak its meta.priority otherwise it can conflict with the original one)

01:47:02
@rendakuenthusiast:imperishable.name@rendakuenthusiast:imperishable.namedo you do this yourself?02:13:19
@zhaofeng:zhaofeng.liZhaofeng LiNo, I don't but my newer nodes don't even have /etc/nixos anymore since I complete the initial installation remotely from Colmena as well.02:15:38
@rendakuenthusiast:imperishable.name@rendakuenthusiast:imperishable.nameoh how does that work?02:15:50
@zhaofeng:zhaofeng.liZhaofeng LiI use this script: https://gist.github.com/zhaofengli/e986fa7688d6c16872b86c6ae6215c9b02:16:38

Show newer messages


Back to Room ListRoom Version: 6