Colmena | 302 Members | |
| A simple, stateless NixOS deployment tool - https://github.com/zhaofengli/colmena | 104 Servers |
| Sender | Message | Time |
|---|---|---|
| 13 Apr 2025 | ||
| * Hi there! I'm rather new to nix and are currently trying to provision some Hetzner VMs (preferrably aarch64) with colmena. The first thing I'd want to do is create a NixOS base image for use with Hetzner. I already figured out some parts of the puzzle. However I fail in creating an image which I can use to upload it as a valid Hetzner image. All my attempts do not bootup properly for various reasons. Does anybody here have a hint on how to create such an NixOS image, preferrably using nix itself? | 09:17:46 | |
| I’m on oracle cloud but I use nixosinfect to install nixos | 09:18:07 | |
| https://github.com/elitak/nixos-infect | 09:18:09 | |
| The install command can be run directly from cloud init as well which is nice | 09:18:45 | |
| (Then I use colmena for configuration) | 09:20:08 | |
| Ah, cool! So I'd setup a regular e.g. debian-12 with nixosinfect in the cloud-init, and then it'd be manageable using colmena? Do I get that right? | 09:20:20 | |
| Yes, I think there is instructions on the GitHub page for nixos infect regarding hetzner | 09:22:31 | |
| So just follow that | 09:22:35 | |
| Great, thanks a lot, I'll try that! However I still think it'd be somehow more elegant to have a NixOS base image. Not? Is that too hard to do for some reason? | 09:23:31 | |
| For sure, but infect is easier and I’m lazy | 09:25:04 | |
| ;) | 09:26:18 | |
| There’s also another tool called nixos anywhere which can do partitioning aswell | 09:26:21 | |
| Cool, thanks for the hints, they'll probably give me a lot more tinkering pleasure ;) | 09:27:29 | |
| Sure thing!🌞 | 09:30:05 | |
In reply to @dish1892:matrix.orgusing this for all my servers cause it can do partitioning & formatting. also has an easy way to upload ssh host keys so agenix works on first boot | 11:39:30 | |
| 15 Apr 2025 | ||
I proposed adding a reboot subcommand to colmena to see what people think about the idea. If you have thoughts, please share them here or on the issue. Thanks! | 16:13:43 | |
| Hey there! The nixos-infect works quite nicely, thanks again! Now when I try to apply to the aarch64-linux node from my aarch64-darwin using colnema (using deployment.buildOnTarget), it will somehow not "activate the profile". I don't quite get what that means :-/ I tried: colmena apply --reboot --force-replace-unknown-profilesI get: failure) Unexpected active profile: Profile(StorePath("/nix/store/0pi9dwfl661k77k8zvacz1h7ikj2hlsi-nixos-system-arm-1-24.11.716947.26d499fc9f1d"))Any ideas? Maybe this is a noob-trap? If I run without "--force-replace-unknown-profiles" then it will reboot, but none of my changes seems to get applied. | 16:49:24 | |
| * Hey there! The nixos-infect works quite nicely, thanks again! Now when I try to apply to the aarch64-linux node from my aarch64-darwin using colnema (using deployment.buildOnTarget), it will somehow not "activate the profile". I don't quite get what that means :-/ I tried: colmena apply --reboot --force-replace-unknown-profiles I get: failure) Unexpected active profile: Profile(StorePath("/nix/store/0pi9dwfl661k77k8zvacz1h7ikj2hlsi-nixos-system-arm-1-24.11.716947.26d499fc9f1d")) Any ideas? Maybe this is a noob-trap? If I run without "--reboot" then colmena will finish without errors, but none of my changes seems to get applied. | 16:58:29 | |
In reply to @ststefa:matrix.orgShouldn’t matter but try set the ”replace unknown profile” setting in the config instead | 18:13:00 | |
In reply to @gmacon:matrix.orgIf i understand it right you want to run pre-apply commands? | 18:15:33 | |
In reply to @ststefa:matrix.org* | 18:17:26 | |
| I don't think so... Did you have something specific in mind for a pre-apply command? | 18:17:43 | |
| My intention was just to configure the remote with some packages and settings. | 18:36:14 | |
| If I may, I could post my flake.nix | 18:36:29 | |
| * Hey there! The nixos-infect works quite nicely, thanks again!
Now when I try to apply to the aarch64-linux node from my aarch64-darwin using colnema (using deployment.buildOnTarget), it will somehow not "activate the profile".
I don't quite get what that means :-/
Any ideas? Maybe this is a noob-trap? If I run without "--reboot" then colmena will finish without errors, but none of my changes seems to get applied. | 18:40:57 | |
| * Hey there! The nixos-infect works quite nicely, thanks again!
Now when I try to apply to the aarch64-linux node from my aarch64-darwin using colnema (using deployment.buildOnTarget), it will somehow not "activate the profile".
I don't quite get what that means :-/ Any ideas? Maybe this is a noob-trap? If I run without "--reboot" then colmena will finish without errors, but none of my changes seems to get applied. | 18:41:30 | |
| Ah, I think I'm a step closer. After the apply, sshd gets killed on the remote. But if I try a command which I declared in colmena (using a console), it's available. However, after a reboot, everything is back to the state before colmena ran. Looks like the new profile is somehow not set as the active profile? | 18:57:42 | |
| Hm, is grub somehow hardcoded in colmena? Asking because I did my experiments with systemd-boot systems | 19:17:29 | |
| Ah, I think I did a mess with systemd-boot (on the system) vs. grub (in my flake) | 19:31:07 | |
| Did you use the hardware-config.nix from the system where you installed nix on? (With nixinfect) | 19:54:33 | |