!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
8 Jan 2024
@polygon:gaykitty.lolpolygon (she/it) - migrating to @polygon:catgirl.cloud ⚑️Redacted or Malformed Event13:00:46
9 Jan 2024
@andar1an:matrix.org@andar1an:matrix.org joined the room.20:30:20
@moira:raccoon.college@moira:raccoon.college changed their profile picture.21:13:52
10 Jan 2024
@tcurdt:matrix.orgtcurdt joined the room.16:04:16
11 Jan 2024
@andar1an:matrix.org@andar1an:matrix.org left the room.11:43:25
13 Jan 2024
@jannik:introverts.xyz@jannik:introverts.xyzHi, I want to use a package from a flake deep in my colmena configuration (using nested imports). Can I reference the input flake and its packages somehow?09:50:50
@ibizaman:matrix.orgibizaman
In reply to @jannik:introverts.xyz
Hi, I want to use a package from a flake deep in my colmena configuration (using nested imports). Can I reference the input flake and its packages somehow?
I’m pretty sure you can with: inputs.myinput1.inputs.myinput2
17:48:38
@jannik:introverts.xyz@jannik:introverts.xyz

Mhhh let me rephrase, the flake.nix has

{
  inputs = {
    # ...
    customPackage.url = "github:jeyemwey/customPackage";
  };
  outputs = { customPackage, ... }: {
    colmena.myHost = {pkgs, ...}: {
      imports = [ ./hosts/myHost ];
      
      services.nginx.virtualHosts."myPackage.example.com".root = "${customPackage.packages."${pkgs.hostPlatform.system}".default}";
    };
  }; 
}

and I can reference the customPackage in the flake outputs function just fine, but I'm not sure how I can reference it in the imports target in ./hosts/myHost/default.nix:

{...}: {
	services.nginx.enable = true;
	services.nginx.virtualHosts."myPackage.example.com" = {
		forceSSL = true;
		enableACME = true;
		
		## TODO: Find way to reference customPackage here
		# root = ...;
	};
}

If that is at all possible? Your answer seems to reference on the inputs of the customPackage which is not what I need here.

21:48:44
15 Jan 2024
@mariosangiorgio:matrix.org@mariosangiorgio:matrix.org joined the room.20:09:48
@mariosangiorgio:matrix.org@mariosangiorgio:matrix.org

Hello, I am trying to use Colmena to deploy to an LXC but I’m hitting a strange issue. It seems like I reach a state where Nix stops networking related units and that causes Colmena to hang


colmena apply
[INFO ] Using configuration: /home/mario/homelab/nix/hive.nix
[INFO ] Enumerating nodes...
[INFO ] Selected all 1 nodes.
         πŸ•› 28s 1 running, 4 succeeded
stateful βœ… 3s Evaluated stateful
stateful βœ… 0s Built "/nix/store/fqfmzxwp1sh85paq4a0lzm8qcqlrh4q7-nixos-system
stateful βœ… 0s Pushed system closure
stateful πŸ•‘ 24s stopping the following units: network-local-commands.service, 
21:55:38
@mariosangiorgio:matrix.org@mariosangiorgio:matrix.orgAny recommendations on how to solve this?21:55:53
@mariosangiorgio:matrix.org@mariosangiorgio:matrix.orgOh, it seems that after stopping the services I get a new IP from DHCP. I added a reservation and it seems to help22:20:24
@mariosangiorgio:matrix.org@mariosangiorgio:matrix.orgNot sure if it’s the right solution but I’ll take it for now22:20:43
16 Jan 2024
@NobbZ:matrix.org@NobbZ:matrix.org left the room.19:30:39
17 Jan 2024
@sumner:nevarro.space@sumner:nevarro.space changed their profile picture.05:27:08
@garionion:entr0py.de@garionion:entr0py.de changed their profile picture.09:35:58
18 Jan 2024
@dmoonfire:matrix.orgdmoonfire joined the room.02:00:05
@dmoonfire:matrix.orgdmoonfire
In reply to @jannik:introverts.xyz

Mhhh let me rephrase, the flake.nix has

{
  inputs = {
    # ...
    customPackage.url = "github:jeyemwey/customPackage";
  };
  outputs = { customPackage, ... }: {
    colmena.myHost = {pkgs, ...}: {
      imports = [ ./hosts/myHost ];
      
      services.nginx.virtualHosts."myPackage.example.com".root = "${customPackage.packages."${pkgs.hostPlatform.system}".default}";
    };
  }; 
}

and I can reference the customPackage in the flake outputs function just fine, but I'm not sure how I can reference it in the imports target in ./hosts/myHost/default.nix:

{...}: {
	services.nginx.enable = true;
	services.nginx.virtualHosts."myPackage.example.com" = {
		forceSSL = true;
		enableACME = true;
		
		## TODO: Find way to reference customPackage here
		# root = ...;
	};
}

If that is at all possible? Your answer seems to reference on the inputs of the customPackage which is not what I need here.

I asked that question earlier this year. You use specialArgs. I have an example at https://d.moonfire.us/blog/2023/12/03/passing-nixos-flake-inputs-through-colmena/ based on the response at https://discourse.nixos.org/t/colmena-how-to-push-a-flake-input-into-the-individual-nodes/36332
02:05:22
@jannik:introverts.xyz@jannik:introverts.xyzThank you, that solves my question exactly. That's for the write up06:40:55
20 Jan 2024
@dtrace:matrix.org@dtrace:matrix.org joined the room.01:58:28
@dtrace:matrix.org@dtrace:matrix.org

I was banging my head around for hours trying to figure out how to get the home-manager nixos module to work with colmena apply.
Question #1 Is it possible to get Colmena and home-manager module to work with one another? (I've read conflicting statements).
Question #2 Assuming it is possible does someone have a working flake using Colmena and home-manager?

My config for my nixos systems using flakes and colmena (this is the commit when I had attempted using home-manager and sops-nix): https://github.com/tracyde/nixos-config/tree/62b5b5810e2e4541a6c147a34ebb640f0bea44ba

20:38:51
21 Jan 2024
@dmoonfire:matrix.orgdmoonfire

Cross-platform question. I just got a Raspberry Pi and I'm trying to set it up, but right now colmena apply --on cm4 is pushing x86_64 binaries, instead of aarch64 ones. I figured I'm doing something wrong, just not sure what. This is a flake setup and I think the relevant lines are:

{
  outputs = inputs @ { self, nix, nixpkgs, nixpkgs-stable, ... }: {
      colmena = {
        meta = {
          nixpkgs = import inputs.nixpkgs {
            system = "x86_64-linux";
          };
        };

        laptop = import ./laptop.nix;
        cm4 = import ./cm4.nix;
      };
    };
}

In cm4.nix, I have this:

inputs @ { config, pkgs, system, flakes, ... }: {
    imports = [
      ./configuration.nix
    ];
  
    nixpkgs.system = "aarch64-linux";
  };  

Any suggestions of what I'm doing wrong?

00:02:47
@raphi:tapesoftware.netraphi
In reply to @dmoonfire:matrix.org

Cross-platform question. I just got a Raspberry Pi and I'm trying to set it up, but right now colmena apply --on cm4 is pushing x86_64 binaries, instead of aarch64 ones. I figured I'm doing something wrong, just not sure what. This is a flake setup and I think the relevant lines are:

{
  outputs = inputs @ { self, nix, nixpkgs, nixpkgs-stable, ... }: {
      colmena = {
        meta = {
          nixpkgs = import inputs.nixpkgs {
            system = "x86_64-linux";
          };
        };

        laptop = import ./laptop.nix;
        cm4 = import ./cm4.nix;
      };
    };
}

In cm4.nix, I have this:

inputs @ { config, pkgs, system, flakes, ... }: {
    imports = [
      ./configuration.nix
    ];
  
    nixpkgs.system = "aarch64-linux";
  };  

Any suggestions of what I'm doing wrong?

try

          nixpkgs = import inputs.nixpkgs {
            system = "x86_64-linux";
            crossSystem = "aarch64-linux";
          };
13:01:20
@khalilsantana:matrix.org@khalilsantana:matrix.org left the room.17:41:25
@dmoonfire:matrix.orgdmoonfire raphi: Will that cause problems with my seven other x86-64 systems? I don't want to turn on binfmt for those. Right now, I have my laptop {x86), three homeland (x86), four remote (x86), and this new aarch64 (which will by x6 eventually). 18:55:03
@dmoonfire:matrix.orgdmoonfireAnd slight knowlege gap for me, does the same package (like file-5.44l have a different hash for x86 verses aarch64?18:58:58
@raphi:tapesoftware.netraphioh, if you have target systems with different arches this wouldn't work, right19:12:57
@dmoonfire:matrix.orgdmoonfire Yeah, I'm mostly in the x86_64 world, just trying to play with Raspberry Pi. Is there is something I can do with colmena.meta.nodeNixpkgs that would let me build on the x86 but for the aarch? I can make a run that all building has to be done on a x86 build server. 19:33:26
@dmoonfire:matrix.orgdmoonfireI'm also hoping to avoid cross compiling because Ceph takes ~6 hours to build normally.19:34:47
@dmoonfire:matrix.orgdmoonfireAnd I want to run Ceph on both the x86 servers and the aarch64. πŸ™‚19:35:34

Show newer messages


Back to Room ListRoom Version: 6