35 lines
1.3 KiB
Nix
35 lines
1.3 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
|
|
};
|
|
|
|
outputs = { self, nixpkgs }:
|
|
let
|
|
system = "x86_64-linux";
|
|
crossSystem = "aarch64-linux";
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
crossSystem = {
|
|
gcc.cpu = "cortex-a53";
|
|
config = "aarch64-unknown-linux-gnu";
|
|
linux-kernel = {
|
|
DTB = true;
|
|
autoModules = true;
|
|
baseConfig = "defconfig";
|
|
extraConfig = "# Raspberry Pi 3 stuff. Not needed for s >= 4.10.\nARCH_BCM2835 y\nBCM2835_MBOX y\nBCM2835_WDT y\nRASPBERRYPI_FIRMWARE y\nRASPBERRYPI_POWER y\nSERIAL_8250_BCM2835AUX y\nSERIAL_8250_EXTENDED y\nSERIAL_8250_SHARE_IRQ y\n\n# Cavium ThunderX stuff.\nPCI_HOST_THUNDER_ECAM y\n\n# Nvidia Tegra stuff.\nPCI_TEGRA y\n\n# The default (=y) forces us to have the XHCI firmware available in initrd,\n# which our initrd builder can't currently do easily.\nUSB_XHCI_TEGRA m\n";
|
|
name = "aarch64-multiplatform";
|
|
preferBuiltin = true;
|
|
target = "Image";
|
|
};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
nixosConfigurations.triviOS = nixpkgs.lib.nixosSystem {
|
|
system = crossSystem;
|
|
modules = [ ./triviOS ];
|
|
};
|
|
formatter.${system} = pkgs.pkgsBuildBuild.nixpkgs-fmt;
|
|
};
|
|
}
|