trivios: refactor flake
This commit is contained in:
parent
a60d427dd4
commit
5dd773ad95
95
flake.nix
95
flake.nix
|
@ -1,102 +1,19 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
|
||||
};
|
||||
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;
|
||||
|
||||
overlays = [
|
||||
(self: super: {
|
||||
systemd = super.systemd.override {
|
||||
pname = "systemd-minimal";
|
||||
withAcl = false;
|
||||
withAnalyze = false;
|
||||
withApparmor = false;
|
||||
withAudit = false;
|
||||
withCompression = false;
|
||||
withCoredump = false;
|
||||
withCryptsetup = false;
|
||||
withDocumentation = false;
|
||||
withEfi = false;
|
||||
withFido2 = false;
|
||||
withHostnamed = false;
|
||||
withHomed = false;
|
||||
withImportd = false;
|
||||
withLibBPF = false;
|
||||
withLibidn2 = false;
|
||||
withLocaled = false;
|
||||
withMachined = false;
|
||||
withNetworkd = false;
|
||||
withNss = false;
|
||||
withOomd = false;
|
||||
withPCRE2 = false;
|
||||
withPolkit = false;
|
||||
withPortabled = false;
|
||||
withRemote = false;
|
||||
withResolved = false;
|
||||
withShellCompletions = false;
|
||||
withTimedated = false;
|
||||
withTimesyncd = false;
|
||||
withTpm2Tss = false;
|
||||
withUserDb = false;
|
||||
# This is necessary for any installation
|
||||
# withPam = false;
|
||||
# withHwdb = false;
|
||||
# withLogind = false;
|
||||
};
|
||||
|
||||
libaom = super.libaom.override {
|
||||
enableButteraugli = false;
|
||||
};
|
||||
|
||||
pin_control = self.callPackage ./pin_control { };
|
||||
})
|
||||
];
|
||||
|
||||
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.
|
||||
ARCH_BCM2835 y
|
||||
BCM2835_MBOX y
|
||||
BCM2835_WDT y
|
||||
RASPBERRYPI_FIRMWARE y
|
||||
RASPBERRYPI_POWER y
|
||||
SERIAL_8250_BCM2835AUX y
|
||||
SERIAL_8250_EXTENDED y
|
||||
SERIAL_8250_SHARE_IRQ y
|
||||
|
||||
# Cavium ThunderX stuff.
|
||||
PCI_HOST_THUNDER_ECAM y
|
||||
|
||||
# Nvidia Tegra stuff.
|
||||
PCI_TEGRA y
|
||||
|
||||
# The default (=y) forces us to have the XHCI firmware available in initrd,
|
||||
# which our initrd builder can't currently do easily.
|
||||
USB_XHCI_TEGRA m
|
||||
'';
|
||||
|
||||
name = "aarch64-multiplatform";
|
||||
preferBuiltin = true;
|
||||
target = "Image";
|
||||
};
|
||||
};
|
||||
crossSystem = import ./triviOS/cross.nix;
|
||||
overlays = [ (import ./triviOS/overlay.nix) ];
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.${crossSystem} = pkgs;
|
||||
formatter.${system} = pkgs.pkgsBuildBuild.nixpkgs-fmt;
|
||||
|
||||
nixosConfigurations.triviOS = nixpkgs.lib.nixosSystem {
|
||||
inherit pkgs;
|
||||
|
@ -104,6 +21,6 @@
|
|||
modules = [ ./triviOS ];
|
||||
};
|
||||
|
||||
formatter.${system} = pkgs.pkgsBuildBuild.nixpkgs-fmt;
|
||||
packages.${crossSystem} = pkgs;
|
||||
};
|
||||
}
|
||||
|
|
36
triviOS/cross.nix
Normal file
36
triviOS/cross.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
config = "aarch64-unknown-linux-gnu";
|
||||
gcc.cpu = "cortex-a53";
|
||||
|
||||
linux-kernel = {
|
||||
DTB = true;
|
||||
autoModules = true;
|
||||
baseConfig = "defconfig";
|
||||
|
||||
extraConfig = ''
|
||||
# Raspberry Pi 3 stuff. Not needed for s >= 4.10.
|
||||
ARCH_BCM2835 y
|
||||
BCM2835_MBOX y
|
||||
BCM2835_WDT y
|
||||
RASPBERRYPI_FIRMWARE y
|
||||
RASPBERRYPI_POWER y
|
||||
SERIAL_8250_BCM2835AUX y
|
||||
SERIAL_8250_EXTENDED y
|
||||
SERIAL_8250_SHARE_IRQ y
|
||||
|
||||
# Cavium ThunderX stuff.
|
||||
PCI_HOST_THUNDER_ECAM y
|
||||
|
||||
# Nvidia Tegra stuff.
|
||||
PCI_TEGRA y
|
||||
|
||||
# The default (=y) forces us to have the XHCI firmware available in initrd,
|
||||
# which our initrd builder can't currently do easily.
|
||||
USB_XHCI_TEGRA m
|
||||
'';
|
||||
|
||||
name = "aarch64-multiplatform";
|
||||
preferBuiltin = true;
|
||||
target = "Image";
|
||||
};
|
||||
}
|
46
triviOS/overlay.nix
Normal file
46
triviOS/overlay.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
self: super: {
|
||||
systemd = super.systemd.override {
|
||||
pname = "systemd-minimal";
|
||||
withAcl = false;
|
||||
withAnalyze = false;
|
||||
withApparmor = false;
|
||||
withAudit = false;
|
||||
withCompression = false;
|
||||
withCoredump = false;
|
||||
withCryptsetup = false;
|
||||
withDocumentation = false;
|
||||
withEfi = false;
|
||||
withFido2 = false;
|
||||
withHostnamed = false;
|
||||
withHomed = false;
|
||||
withImportd = false;
|
||||
withLibBPF = false;
|
||||
withLibidn2 = false;
|
||||
withLocaled = false;
|
||||
withMachined = false;
|
||||
withNetworkd = false;
|
||||
withNss = false;
|
||||
withOomd = false;
|
||||
withPCRE2 = false;
|
||||
withPolkit = false;
|
||||
withPortabled = false;
|
||||
withRemote = false;
|
||||
withResolved = false;
|
||||
withShellCompletions = false;
|
||||
withTimedated = false;
|
||||
withTimesyncd = false;
|
||||
withTpm2Tss = false;
|
||||
withUserDb = false;
|
||||
|
||||
# Se implican y son necesarios:
|
||||
# withPam = true;
|
||||
# withHwdb = true;
|
||||
# withLogind = true;
|
||||
};
|
||||
|
||||
libaom = super.libaom.override {
|
||||
enableButteraugli = false;
|
||||
};
|
||||
|
||||
pin_control = self.callPackage ../pin_control { };
|
||||
}
|
Loading…
Reference in a new issue