!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

You have reached the beginning of time (for this room).


SenderMessageTime
4 Feb 2022
@schnecfk:ruhr-uni-bochum.deCRTified eval-config has an additional parameter extraModules https://github.com/NixOS/nixpkgs/blob/a0ad8dcd354c67f084511e4ae78a27af83df95fd/nixos/lib/eval-config.nix#L28 - That allows you to add your usual modules to modules, and colmena.nixosModules.deploymentOptions to extraModules 20:48:45
@schnecfk:ruhr-uni-bochum.deCRTified

So in general it looks like this for me now:

[---SNIP---]
      sys = system: mods:
        nixpkgs.lib.nixosSystem {

          inherit system;
          
          specialArgs = {inherit inputs; } ;

          extraModules = [
            colmena.nixosModules.deploymentOptions
          ];
          
          modules = [
            self.nixosModule
            home-manager.nixosModules.home-manager

            ./common
          ] ++ mods;
        };

    in rec {

      colmena = {
        meta = {
          description = "My personal machines";
          nixpkgs = import nixpkgs {
            system = "x86_64-linux";
            overlays = [ nur.overlay ];
          };
        };

      } // builtins.mapAttrs (name: value: {
        nixpkgs.system = value.config.nixpkgs.system;
        imports = value._module.args.modules;
      }) (self.nixosConfigurations);
[---SNAP---]
20:49:46
@buckley310:matrix.orgBuckleyi think my ideal scenario would be for nixosConfigurations to import the colmena module explicitly, and then nxiosConfigurations to be read directly by colmena... though i do not claim this to be an easy lift :D20:51:41
@buckley310:matrix.orgBuckleyive poked around the codebase a bit in hopes of writing some PRs but i just haven't put enough time into the rust stuff to figure it out yet20:52:41
@schnecfk:ruhr-uni-bochum.deCRTified
In reply to @buckley310:matrix.org
i think my ideal scenario would be for nixosConfigurations to import the colmena module explicitly, and then nxiosConfigurations to be read directly by colmena... though i do not claim this to be an easy lift :D
Yes, that would be the "best case", but I think I'm happy with my shim-method now 🙂
20:56:18
@buckley310:matrix.orgBuckleyshims for days 😎21:00:59
@github:maunium.net@github:maunium.net [zhaofengli/colmena] cole-h opened issue #54: Don't require meta.nixpkgs if meta.nodeNixpkgs is set for the target host(s)

I think it's a little weird to require nixpkgs to be set (because it requires a system set which may change at any point, depending on where you're deploying from). Sure, right now, I may be using x86_64-linux, but I may want to use aarch64-linux or some other arch at any time.

I would expect, if all of the target hosts have a matching nodeNixpkgs entry, that meta.nixpkgs wouldn't be required.

Even better, if it was combined with a deployment.nixpkgs option that replaces the meta.nodeNixpkgs option.

I may be able to work on this, if this is desired by more than just me.

23:48:40
@github:maunium.net@github:maunium.net [zhaofengli/colmena] cole-h opened issue #55: Move meta.nodeNixpkgs to deployment.nixpkgs inside the node config

IMHO, it makes more sense to configure the used nixpkgs inside of the node's config, instead of in the meta attrset.

23:56:28
@github:maunium.net@github:maunium.net [zhaofengli/colmena] cole-h edited issue #54: Don't require meta.nixpkgs if meta.nodeNixpkgs is set for the target host(s) 23:56:56
5 Feb 2022
@github:maunium.net@github:maunium.net [zhaofengli/colmena] Repo forked into cole-h/colmena 01:06:39
@github:maunium.net@github:maunium.net [zhaofengli/colmena] cole-h drafted pull request #56: WIP: add deployment.nixpkgs option

See https://github.com/zhaofengli/colmena/issues/55.

01:08:13
@github:maunium.net@github:maunium.net [zhaofengli/colmena] cole-h commented on pull request #56: WIP: add deployment.nixpkgs option 01:10:06

Show newer messages


Back to Room ListRoom Version: 6