49 lines
2.1 KiB
Nix
49 lines
2.1 KiB
Nix
{
|
|
description = "Build NixOS images for various ARM single computer boards";
|
|
# pin this to unstable
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/master";
|
|
aarch64-linux-testing.url = "git+https://git.asonix.dog/asonix/aarch64-linux-testing.git";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, aarch64-linux-testing }: {
|
|
packages.x86_64-linux =
|
|
let
|
|
pkgs = import nixpkgs {
|
|
system = "x86_64-linux";
|
|
};
|
|
aarch64Pkgs = import pkgs.path {
|
|
system = "aarch64-linux";
|
|
};
|
|
|
|
buildImage = pkgs.callPackage ./pkgs/build-image { };
|
|
aarch64Image = fdt: pkgs.callPackage ./pkgs/aarch64-image {
|
|
aarch64-image =
|
|
let
|
|
base-path = aarch64-linux-testing.images.installer fdt;
|
|
image-name = (aarch64-linux-testing.nixosConfigurations.installer fdt).config.sdImage.imageName;
|
|
in
|
|
"${base-path}/sd-image/${image-name}.zst";
|
|
};
|
|
rockchip = fdt: uboot: pkgs.callPackage ./images/rockchip.nix {
|
|
inherit fdt;
|
|
inherit uboot;
|
|
inherit aarch64Image buildImage;
|
|
};
|
|
quartzUBoots = aarch64Pkgs.callPackage ./pkgs/uboot-quartz64.nix { };
|
|
in
|
|
{
|
|
quartz64a = rockchip "rockchip/rk3566-quartz64-a.dtb" quartzUBoots.ubootQuartz64a;
|
|
quartz64b = rockchip "rockchip/rk3566-quartz64-b.dtb" quartzUBoots.ubootQuartz64b;
|
|
soquartz-model-a = rockchip "rockchip/rk3566-soquartz-model-a.dtb" quartzUBoots.ubootSoQuartz;
|
|
soquartz-cm4 = rockchip "rockchip/rk3566-soquartz-cm4.dtb" quartzUBoots.ubootSoQuartz;
|
|
soquartz-blade = rockchip "rockchip/rk3566-soquartz-blade.dtb" quartzUBoots.ubootSoQuartz;
|
|
rock64 = rockchip "rockchip/rk3328-rock64.dtb" aarch64Pkgs.ubootRock64;
|
|
rockPro64 = rockchip "rockchip/rk3399-rockpro64.dtb" aarch64Pkgs.ubootRockPro64;
|
|
rockPro64v2 = rockchip "rockchip/rk3399-rockpro64-v2.dtb" aarch64Pkgs.ubootRockPro64;
|
|
roc-pc-rk3399 = rockchip "rockchip/rk3399-roc-pc.dtb" aarch64Pkgs.ubootROCPCRK3399;
|
|
pinebookPro = rockchip "rockchipo/rk3399-pinebook-pro.dtb" aarch64Pkgs.ubootPinebookPro;
|
|
};
|
|
};
|
|
}
|