Advance forge rollout, Ethereum rails, and NBC sources

This commit is contained in:
every.channel 2026-04-01 15:58:49 -07:00
parent be26313225
commit 7d84510eac
No known key found for this signature in database
88 changed files with 11230 additions and 302 deletions

View file

@ -13,6 +13,10 @@
nixosModules = rec {
ec-node = import ./nix/modules/ec-node.nix;
ec-runner = import ./nix/modules/ec-runner.nix;
ec-netboot = import ./nix/modules/ec-netboot.nix;
ec-ipxe-qemu = import ./nix/modules/ec-ipxe-qemu.nix;
ec-op-stack = import ./nix/modules/ec-op-stack.nix;
ec-publisher-guest = import ./nix/modules/ec-publisher-guest.nix;
default = ec-node;
};
in
@ -29,11 +33,35 @@
./nix/nixos/ec-runner.nix
] ++ extraModules;
};
mkPublisher = system: extraModules:
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit self; };
modules = [
./nix/nixos/ec-runner.nix
self.nixosModules.ec-publisher-guest
] ++ extraModules;
};
in
{
# Base runner system (for normal installs).
ec-runner-aarch64 = mkRunner "aarch64-linux" [ ];
ec-runner-x86_64 = mkRunner "x86_64-linux" [ ];
ec-publisher-x86_64 = mkPublisher "x86_64-linux" [ ];
# Sovereign forge host (git.every.channel) managed from every.channel.
ecp-forge = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit self; };
modules = [
agenix.nixosModules.default
self.nixosModules.ec-node
self.nixosModules.ec-netboot
self.nixosModules.ec-ipxe-qemu
self.nixosModules.ec-op-stack
./nix/nixos/ecp-forge.nix
];
};
# Netboot artifacts (iPXE/PXE).
ec-runner-aarch64-netboot = mkRunner "aarch64-linux" [
@ -86,6 +114,31 @@
})
];
ec-publisher-x86_64-netboot = mkPublisher "x86_64-linux" [
({ modulesPath, ... }: {
imports = [ (modulesPath + "/installer/netboot/netboot-minimal.nix") ];
})
({ ... }: {
services.every-channel.runner.overlayRoot.enable = false;
})
({ config, pkgs, ... }: {
system.build.netboot = pkgs.linkFarm "ec-publisher-netboot" [
{
name = "kernel";
path = "${config.system.build.kernel}/${config.system.boot.loader.kernelFile}";
}
{
name = "initrd";
path = "${config.system.build.netbootRamdisk}/initrd";
}
{
name = "netboot.ipxe";
path = "${config.system.build.netbootIpxeScript}/netboot.ipxe";
}
];
})
];
# Installer ISO (primarily for x86_64 bring-up).
ec-runner-x86_64-iso = mkRunner "x86_64-linux" [
({ modulesPath, ... }: {
@ -138,6 +191,8 @@
packages = {
agenix = agenixPkg;
fj = pkgs.forgejo-cli;
foundry = pkgs.foundry;
solc = pkgs.solc;
ec-node = pkgs.callPackage ./nix/pkgs/ec-node.nix { };
ec-cli = pkgs.callPackage ./nix/pkgs/ec-cli.nix { };
};
@ -157,6 +212,8 @@
nodePackages.wrangler
agenixPkg
forgejo-cli
foundry
solc
uv
git
just
@ -188,6 +245,8 @@
ffmpeg
agenixPkg
forgejo-cli
foundry
solc
git
];