| 21 Oct 2022 |
Wanja Hentze | reads like sunxi | 13:45:45 |
@yuka:yuka.dev | true | 14:09:55 |
@yuka:yuka.dev | whatever | 14:09:56 |
@yuka:yuka.dev | here it is: https://cyberchaos.dev/cyberchaoscreatures/nixlib | 14:10:00 |
@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 | 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 | * 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 | * 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 | 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 | or use it with something that's not even nixos | 14:41:20 |
@yuka:yuka.dev | and of course don't forget to import inputs.colmena.nixosModules.deploymentOptions somewhere | 14:44:21 |
@yuka:yuka.dev | I could theoretically do that in the colmena-compat module | 14:45:00 |
@yuka:yuka.dev | but then not sure how to match the versions | 14:45:29 |
Zhaofeng 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 Li | Been 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/1812 | 17:53:36 |
@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 | and apply this overlay here: https://cyberchaos.dev/cyberchaoscreatures/musl-nixos/-/blob/main/overlay.nix | 17:59:19 |
@yuka:yuka.dev | and expect stuff to be broken | 17:59:32 |
@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 |