!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
30 Jul 2025
@zhaofeng:zhaofeng.liZhaofeng Liyup, monitoring the situation (see https://github.com/zackify/cli.rs/issues/113 and https://github.com/zhaofengli/colmena/issues/304), if it doesn't get resolved in the next few days I'll consider moving to somewhere more reliable07:01:59
@zhaofeng:zhaofeng.liZhaofeng Li(would suck as there would be dead links everywhere, but better than no docs at all)07:02:06
@zhaofeng:zhaofeng.liZhaofeng Lia few high-profile projects also use the domain (rustic, kmon, pls) so... at least we aren't suffering alone 😐️07:02:19
@sinan:sinanmohd.comsinandamn07:03:13
@badele:matrix.org@badele:matrix.org left the room.08:13:28
31 Jul 2025
@sammy:cherrykitten.gaysammy (It/Its) joined the room.09:37:13
@sammy:cherrykitten.dev@sammy:cherrykitten.dev left the room.09:37:56
2 Aug 2025
@sinan:sinanmohd.comsinan changed their profile picture.06:58:26
@sinan:sinanmohd.comsinan 06:58:39
@sinan:sinanmohd.comsinan 06:58:46
3 Aug 2025
@zsuper:matrix.orgzsuper joined the room.06:49:35
@zsuper:matrix.orgzsuper is the hardware-configuration.nix file's contents something that needs to be included in a node's modules? I know deploy-rs requires this, and it was recommended to me to have a node-specific folder of NixOS modules containing each host's hardware-configuration.nix. I can work with this approach, but it makes things a LOT more awkward because in order to generate that file, I must first have access to the target running NixOS 07:00:11
@zsuper:matrix.orgzsuper

and I want to find a way to streamline the process of adding new nodes to my NixOS network. im looking into the idea of custom ISOs right now, which would allow me to live USB boot onto a computer with things like master computer's SSH keys added, flakes/git/vim enabled, etc.

But this again only takes me halfway there, since even if I get to a stage where colmena/deploy-rs CAN interact with the target host over SSH correctly, the nixosConfiguration will be invalid due to things like fileSystems."/" being unset (which is usually handled by hardware-configuration.nix)

does anyone have any pointers/tips they can share with how to make this easier?

07:05:06
@zhaofeng:zhaofeng.liZhaofeng Li I personally set nixosConfigurations = self.outputs.colmenaHive.nodes; then nixos-anywhere can generate the hardware-configuration.nix automatically: https://nix-community.github.io/nixos-anywhere/quickstart.html 14:52:08
@sinan:sinanmohd.comsinan changed their profile picture.15:07:47
@zsuper:matrix.orgzsuperI see. I have never used nixos-anywhere or disko before. I suppose this is probably a good way to learn. Thanks!17:36:04
@palsternacka:matrix.orgpalsternacka joined the room.21:08:23
@jonhermansen:matrix.orgjonhermansenDoes anyone have an example of using an overlay + Colmena + flakes?22:15:29
@jonhermansen:matrix.orgjonhermansenAh, I finally figured it out. But I needed to build latest colmena locally to apply. Or else I got this error: "The colmenaHive output (schema v0.5) isn't compatible with this version of Colmena" I saw there was a request for a new Colmena release, are there any plans to do that?23:07:25
4 Aug 2025
@jonhermansen:matrix.orgjonhermansen I got it sorted on my end. But I have to carry this in my Nix config just so I can deploy through Colmena.

  nixpkgs.overlays = [
    (self: super: {
      colmena = super.colmena.overrideAttrs (old: rec {
        patches = [ ];
        src = super.fetchFromGitHub {
          owner = "zhaofengli";
          repo = "colmena";
          rev = "5e0fbc4dbc50b3a38ecdbcb8d0a5bbe12e3f9a72";
          hash = "sha256-vwu354kJ2fjK1StYmsi/M2vGQ2s72m+t9pIPHImt1Xw=";
        };
        cargoDeps = self.rustPlatform.fetchCargoVendor {
          inherit src;
          hash = "sha256-v5vv66x+QiDhSa3iJ3Kf7PC8ZmK1GG8QdVD2a1L0r6M=";
        };
      });
    })
  ];
01:40:54
@jonhermansen:matrix.orgjonhermansen I got it sorted on my end. But I have to carry this in my Nix config just so I can deploy through Colmena without relying on a manually compiled version.

nixpkgs.overlays = [
    (self: super: {
      colmena = super.colmena.overrideAttrs (old: rec {
        patches = [ ];
        src = super.fetchFromGitHub {
          owner = "zhaofengli";
          repo = "colmena";
          rev = "5e0fbc4dbc50b3a38ecdbcb8d0a5bbe12e3f9a72";
          hash = "sha256-vwu354kJ2fjK1StYmsi/M2vGQ2s72m+t9pIPHImt1Xw=";
        };
        cargoDeps = self.rustPlatform.fetchCargoVendor {
          inherit src;
          hash = "sha256-v5vv66x+QiDhSa3iJ3Kf7PC8ZmK1GG8QdVD2a1L0r6M=";
        };
      });
    })
  ];
01:41:12
@zsuper:matrix.orgzsuperthis does limit you to machines that are connected to the network via ethernet right? i was about to try this with an old laptop of mine, but i realized that nixos-anywhere does not support Wifi installation03:11:24
@zsuper:matrix.orgzsuper-1 day of research 😭03:41:47
@zhaofeng:zhaofeng.liZhaofeng Li You don't need to manually make the overlay. You can either use colmena.overlays.default or take the package from colmena.packages.x86_64-linux.colmena directly. I do think it's worth it to have an example in the docs (which is busted right now) even though it follows the common flake pattern, another entry in the todo list 04:13:06
@zhaofeng:zhaofeng.liZhaofeng LiIn this case, probably not, but you can always do the manual way of connecting wifi and ssh'ing in04:14:22
@zhaofeng:zhaofeng.liZhaofeng LiPrior to nixos-anywhere I was using this script: https://gist.github.com/zhaofengli/e986fa7688d6c16872b86c6ae6215c9b04:15:43
@zhaofeng:zhaofeng.liZhaofeng Li *

You don't need to manually make the overlay. You can either use colmena.overlays.default or take the package from colmena.packages.x86_64-linux.colmena directly. I do think it's worth it to have an example in the docs (which is busted right now) even though it follows the common flake pattern, another entry in the todo list

Another useful command is nix flake show github:zhaofengli/colmena which shows what a flake exports

04:17:26
@zsuper:matrix.orgzsuper

gotcha. but im trying to run with the target laptop connected to ethernet (which i verified with ip a) and im still running into the error where

06:52:04
@zsuper:matrix.orgzsuper *

gotcha. but im trying to run with the target laptop connected to ethernet (which i verified with ip a) and im still running into the error where

ssh: connect to host thinkpad port 22: Connection timed out
06:52:17
@zsuper:matrix.orgzsuper *

gotcha. but now im trying to run with the target laptop connected to ethernet (which i verified with ip a) and im still running into the error where

ssh: connect to host thinkpad port 22: Connection timed out
06:52:29

Show newer messages


Back to Room ListRoom Version: 6