!UKDpaKNNsBpOPfLWfX:zhaofeng.li

Colmena

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

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


SenderMessageTime
21 Oct 2022
@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

Show newer messages


Back to Room ListRoom Version: 6