!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

Load older messages


SenderMessageTime
21 Oct 2022
@whentze:matrix.orgWanja HentzeI usually pick something cool that has 0 to do with the actual thing but is at least googleable and unique12:43:14
@yuka:yuka.dev@yuka:yuka.devI know what I'll call it13:11:19
@yuka:yuka.dev@yuka:yuka.devsixun, which is nixus backwards, because it is basically a simplified clone of nixus13:11:32
@yuka:yuka.dev@yuka:yuka.dev * suxin, which is nixus backwards, because it is basically a simplified clone of nixus13:11:46
@yuka:yuka.dev@yuka:yuka.dev yeah, that's not very original, I know... sigh 13:16:10
@whentze:matrix.orgWanja Hentzereads like sunxi13:45:45
@yuka:yuka.dev@yuka:yuka.devtrue14:09:55
@yuka:yuka.dev@yuka:yuka.devwhatever14:09:56
@yuka:yuka.dev@yuka:yuka.devhere it is: https://cyberchaos.dev/cyberchaoscreatures/nixlib14:10:00
@yuka:yuka.dev@yuka:yuka.dev

example usage (in flake.nix)

    suxin = inputs.ccc-nixlib.suxinSystem {
      modules = [
        ./nodes.nix
      ];
      specialArgs = { inherit inputs; };
    };
    inherit (inputs.self.suxin.config) nixosConfigurations colmenaHive;
14:37:54
@yuka:yuka.dev@yuka:yuka.dev

nodes.nix

# This is NOT a normal colmena hive definition
# We are using our own suxin module system

{ lib, inputs, ... }:

{
  defaults = { config, ... }: {
    specialArgs = { inherit inputs; };
    nixpkgs = lib.mkDefault inputs.nixpkgs;
    configuration = import ./common;
  };

  nodes = {
    hifipi.configuration = import ./hosts/hifipi/configuration.nix;
    monitor.configuration = import ./hosts/monitor/configuration.nix;
    tvpi.configuration = import ./hosts/tvpi/configuration.nix;
    yaya.configuration = import ./hosts/yaya/configuration.nix;
    net-vm.configuration = import ./hosts/net-vm/configuration.nix;
    yoyo.configuration = import ./hosts/yoyo/configuration.nix;

    mari.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    mari.configuration = import ./hosts/mari/configuration.nix;

    yuyu.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    yuyu.configuration = import ./hosts/yuyu/configuration.nix;
  };
}
14:39:01
@yuka:yuka.dev@yuka:yuka.dev *

nodes.nix

# This is NOT a normal colmena hive definition
# We are using our own suxin module system

{ lib, inputs, ... }:

{
  defaults = { config, ... }: {
    specialArgs = { inherit inputs; };
    nixpkgs = lib.mkDefault inputs.nixpkgs;
    configuration = import ./common;
  };

  nodes = {
    hifipi.configuration = import ./hosts/hifipi/configuration.nix;
    monitor.configuration = import ./hosts/monitor/configuration.nix;
    tvpi.configuration = import ./hosts/tvpi/configuration.nix;
    yaya.configuration = import ./hosts/yaya/configuration.nix;
    net-vm.configuration = import ./hosts/net-vm/configuration.nix;
    yoyo.configuration = import ./hosts/yoyo/configuration.nix;

    mari.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    mari.configuration = import ./hosts/mari/configuration.nix;

    yuyu.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    yuyu.configuration = import ./hosts/yuyu/configuration.nix;
  };
}
14:39:04
@yuka:yuka.dev@yuka:yuka.dev *

nodes.nix

# This is NOT a normal colmena hive definition
# We are using our own suxin module system

{ lib, inputs, ... }:

{
  defaults = {
    specialArgs = { inherit inputs; };
    nixpkgs = lib.mkDefault inputs.nixpkgs;
    configuration = import ./common;
  };

  nodes = {
    hifipi.configuration = import ./hosts/hifipi/configuration.nix;
    monitor.configuration = import ./hosts/monitor/configuration.nix;
    tvpi.configuration = import ./hosts/tvpi/configuration.nix;
    yaya.configuration = import ./hosts/yaya/configuration.nix;
    net-vm.configuration = import ./hosts/net-vm/configuration.nix;
    yoyo.configuration = import ./hosts/yoyo/configuration.nix;

    mari.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    mari.configuration = import ./hosts/mari/configuration.nix;

    yuyu.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    yuyu.configuration = import ./hosts/yuyu/configuration.nix;
  };
}
14:39:27
@yuka:yuka.dev@yuka:yuka.dev There is an evalFn option so you can also use it without flakes (just defaults to nixpkgs.lib.nixosSystem) 14:40:41
@yuka:yuka.dev@yuka:yuka.devor use it with something that's not even nixos14:41:20
@yuka:yuka.dev@yuka:yuka.dev and of course don't forget to import inputs.colmena.nixosModules.deploymentOptions somewhere 14:44:21
@yuka:yuka.dev@yuka:yuka.devI could theoretically do that in the colmena-compat module14:45:00
@yuka:yuka.dev@yuka:yuka.devbut then not sure how to match the versions14:45:29
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @yuka:yuka.dev

nodes.nix

# This is NOT a normal colmena hive definition
# We are using our own suxin module system

{ lib, inputs, ... }:

{
  defaults = {
    specialArgs = { inherit inputs; };
    nixpkgs = lib.mkDefault inputs.nixpkgs;
    configuration = import ./common;
  };

  nodes = {
    hifipi.configuration = import ./hosts/hifipi/configuration.nix;
    monitor.configuration = import ./hosts/monitor/configuration.nix;
    tvpi.configuration = import ./hosts/tvpi/configuration.nix;
    yaya.configuration = import ./hosts/yaya/configuration.nix;
    net-vm.configuration = import ./hosts/net-vm/configuration.nix;
    yoyo.configuration = import ./hosts/yoyo/configuration.nix;

    mari.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    mari.configuration = import ./hosts/mari/configuration.nix;

    yuyu.nixpkgs = inputs.musl-nixos.inputs.nixpkgs;
    yuyu.configuration = import ./hosts/yuyu/configuration.nix;
  };
}
Cool, how is the experience using a musl-based environment?
17:53:34
@zhaofeng:zhaofeng.liZhaofeng LiBeen wanting to use a Nix-based iSH rootfs, but glibc stuff has a tough time running on it: https://github.com/ish-app/ish/pull/181217:53:36
@yuka:yuka.dev@yuka:yuka.dev
In reply to @zhaofeng:zhaofeng.li
Cool, how is the experience using a musl-based environment?
part of the experience: track a nixpkgs fork with a few patches applied, though they should soon(tm) upstream
17:58:46
@yuka:yuka.dev@yuka:yuka.devand apply this overlay here: https://cyberchaos.dev/cyberchaoscreatures/musl-nixos/-/blob/main/overlay.nix17:59:19
@yuka:yuka.dev@yuka:yuka.devand expect stuff to be broken17:59:32
@yuka:yuka.dev@yuka:yuka.dev
In reply to @zhaofeng:zhaofeng.li
Cool, how is the experience using a musl-based environment?
* part of the experience: track a nixpkgs fork with a few patches applied, though they should soon(tm) upstream
18:01:27
@zhaofeng:zhaofeng.liZhaofeng Li
In reply to @yuka:yuka.dev
[ERROR] Failed to evaluate net-vm, monitor, tvpi, and 11 other nodes - Last 5 lines of logs:
[ERROR]  created)
[ERROR]    state) Running
[ERROR]   stderr) error: unrecognised flag '--expr'
[ERROR]   stderr) Try '/nix/store/i3avjvyfgw0ypbb5sq7w5f5d6xhyy586-nix-eval-jobs-2.9.0/bin/nix-eval-jobs --help' for more information.
[ERROR]  failure) Child process exited with error code: 1
[ERROR] Failed to complete requested operation - Last 1 lines of logs:
[ERROR]  failure) Child process exited with error code: 1
[ERROR] -----
[ERROR] Operation failed with error: Child process exited with error code: 1

(scrolling back)

If you are building colmena with callPackage instead of from the flake, you need to use the latest version of nix-eval-jobs

19:44:58
@zhaofeng:zhaofeng.liZhaofeng Li It has a PR that hasn't landed in a release yet. 19:45:47
@yuka:yuka.dev@yuka:yuka.devThx20:32:08
22 Oct 2022
@ronixx:matrix.orgroshan | byteio.in 🌷Redacted or Malformed Event03:28:00
@ronixx:matrix.orgroshan | byteio.in 🌷image.png
Download image.png
04:44:53
@ronixx:matrix.orgroshan | byteio.in 🌷how can i pass different key for each host in colmena ?04:45:23

Show newer messages


Back to Room ListRoom Version: 6