!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
22 Jan 2022
@buckley310:matrix.orgBuckleyYeah I thought about doing that. I had a look at the nix files in colmena and the deployment options aren’t currently exposed, but it looks like they could be09:12:09
@github:maunium.net@github:maunium.net [zhaofengli/colmena] Repo forked into phaer/colmena 10:04:28
@github:maunium.net@github:maunium.net [zhaofengli/colmena] phaer opened pull request #49: eval.nix: expose nixosModules.deploymentOptions

Allow flake users to import .#nixosModules.deploymentOptions into their flake, so that the same expression can be used for both, .#colmena.$host as well as .#nixosConfigurations.$host, without the latter complaining about undefined options in "deployment".

Tests seem to pass, building the manual still works and the resulting nixosModules.deploymentOptions works as expected in my configration. What do you think?

(reusing the same attrset for nixosConfigurations and colmena hosts only really works for setups which don't use the name and nodes parameters)

10:18:29
@phaer:matrix.orgPaul Haerle
In reply to @buckley310:matrix.org
Yeah I thought about doing that. I had a look at the nix files in colmena and the deployment options aren’t currently exposed, but it looks like they could be
Just opened up a PR for that
10:19:32
@buckley310:matrix.orgBuckleyI’ll test it17:07:49
23 Jan 2022
@zhaofeng:zhaofeng.liZhaofeng Li Basic support for nix-eval-jobs has landed in the main development branch, enabling true parallel evaluation that is also memory efficient. You can give it a try by passing --evaluator streaming and nix-eval-jobs will be used as the evaluator, spawning separate workers to evaluate nodes at the same time. 02:15:07
@zhaofeng:zhaofeng.liZhaofeng LiSo far the biggest issues I see with nix-eval-jobs mainly have to do with IFD. Builds triggered by IFDs cannot be easily cancelled, and there is no support for remote builders with IFD.02:15:19
@github:maunium.net@github:maunium.net [zhaofengli/colmena] phaer synchronize pull request #49: eval.nix: expose nixosModules.deploymentOptions 09:01:18
@linus.heckemann:matrix.mayflower.deLinux Hackerman joined the room.14:38:08
@github:maunium.net@github:maunium.net [zhaofengli/colmena] lheckemann approved pull request #49: eval.nix: expose nixosModules.deploymentOptions 14:41:42
@github:maunium.net@github:maunium.net [zhaofengli/colmena] zhaofengli merged pull request #49: eval.nix: expose nixosModules.deploymentOptions 18:06:42
@linus.heckemann:matrix.mayflower.deLinux Hackerman Is there a way to override an input flake like with the --override-flake nix option? 19:03:09
@zhaofeng:zhaofeng.liZhaofeng Li Currently no, but we can add one. Looks like the argument is part of the common eval args in Nix, and accepted by both nix-instantiate and nix-eval-jobs 19:06:24
@linus.heckemann:matrix.mayflower.deLinux Hackerman er, I think I meant --override-input not --override-flake 19:15:14
@zhaofeng:zhaofeng.liZhaofeng Li Looks like I got them mixed up as well. --override-input is the useful one and it's not available in nix-instantiate or nix-eval-jobs. For flakes mode we could look into using nix eval --apply to evaluate, though I doubt our current setup would work in the pure evaluation mode. 19:19:05
25 Jan 2022
@github:maunium.net@github:maunium.net [zhaofengli/colmena] JCapucho opened issue #50: Nixpkgs fails to build on unstable

Hi, I'm using colmena with a flake to build a node that uses the nixos-unstable branch of nixpkgs (commit is https://github.com/NixOS/nixpkgs/commit/689b76bcf36055afdeb2e9852f5ecdd2bf483f87), but it's failing to build.

In the start of the log I see a warning with

capucho-nixos | trace: warning: The following Nixpkgs configuration keys set in meta.nixpkgs will be ignored: path

Which leads me to believe that the issue might be caused by ignoring the path attribute introduced in https://github.com/NixOS/nixpkgs/pull/153594

Here's the log of running colmena build --show-trace --verbose log.txt

13:54:48
@linus.heckemann:matrix.mayflower.deLinux Hackerman Is there a way to pass the flake inputs on to all machine configs? I'd like to do things like imports = [ "${inputs.nixos-mailserver}/default.nix" ]; in my machine configs. 15:39:18
@linus.heckemann:matrix.mayflower.deLinux Hackerman Additionally I'd like to be able to access the flakeInfo of the nixpkgs used to build the individual machine. I currently have the problem that the system version metadata is basically useless (nixos-version says 21.11pre-git and nixos-version --hash doesn't know anything). 15:41:47
@buckley310:matrix.orgBuckleycould be done with an overlay15:42:26
@buckley310:matrix.orgBuckley
In reply to @buckley310:matrix.org

the stub:

colmena =
    { meta.nixpkgs = nixpkgs.legacyPackages."x86_64-linux"; } //
    builtins.mapAttrs
      (name: value: {
        nixpkgs.system = value.config.nixpkgs.system;
        imports = value.extraArgs.modules ++ [
          ({ config, ... }: { inherit (config.sconfig) deployment; })
        ];
      })
      (nixosConfigurations);
FWIW, my colmena machines have the correct nixpkgs info instead of the pre-git thing, because i build them in nixosConfigurations and then shim them into colmena
15:45:59
@buckley310:matrix.orgBuckley
$ nixos-version 
21.11.20211229.8588b14 (Porcupine)
15:46:43
@linus.heckemann:matrix.mayflower.deLinux Hackerman
In reply to @buckley310:matrix.org

the stub:

colmena =
    { meta.nixpkgs = nixpkgs.legacyPackages."x86_64-linux"; } //
    builtins.mapAttrs
      (name: value: {
        nixpkgs.system = value.config.nixpkgs.system;
        imports = value.extraArgs.modules ++ [
          ({ config, ... }: { inherit (config.sconfig) deployment; })
        ];
      })
      (nixosConfigurations);
hm, why do you set nixpkgs.system again? Shouldn't imports already take care of that?
17:41:43
@buckley310:matrix.orgBuckleyi originally thought so, but if i remove that line my pi doesnt deploy right17:42:22
@linus.heckemann:matrix.mayflower.deLinux HackermanI also don't see how that will play along with use of meta.nodeNixpkgs17:42:25
@linus.heckemann:matrix.mayflower.deLinux Hackerman that is, if I use meta.nodeNixpkgs it will deploy using the nixpkgs I want it to, but have an incorrect version string 17:44:49
@0x4a6f:matrix.org[0x4A6F]

Linux Hackerman: something along this in flake outputs?

    colmena.defaults = {
      system.nixos.version = "nixos-${nixpkgs.shortRev}";
    };
17:45:10
@linus.heckemann:matrix.mayflower.deLinux Hackerman
In reply to @linus.heckemann:matrix.mayflower.de
that is, if I use meta.nodeNixpkgs it will deploy using the nixpkgs I want it to, but have an incorrect version string
[0x4A6F]: that also has ^ this problem
17:45:36
@buckley310:matrix.orgBuckley
In reply to @linus.heckemann:matrix.mayflower.de
that is, if I use meta.nodeNixpkgs it will deploy using the nixpkgs I want it to, but have an incorrect version string
not sure. i dont use meta.nodePackages.
17:46:04
@buckley310:matrix.orgBuckley
In reply to @linus.heckemann:matrix.mayflower.de
that is, if I use meta.nodeNixpkgs it will deploy using the nixpkgs I want it to, but have an incorrect version string
* not sure. i dont use meta.nodeNixpkgs
17:46:42
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @linus.heckemann:matrix.mayflower.de
that is, if I use meta.nodeNixpkgs it will deploy using the nixpkgs I want it to, but have an incorrect version string
Hmm, interesting. Do you have a minimal repro? Or I can try doing it sometime today
18:26:09

Show newer messages


Back to Room ListRoom Version: 6