32 lines
1.2 KiB
Nix
32 lines
1.2 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
flake-compat = {
|
|
url = "github:edolstra/flake-compat";
|
|
flake = false;
|
|
};
|
|
};
|
|
outputs = { self, nixpkgs, flake-compat }@inputs:
|
|
let
|
|
systems = nixpkgs.lib.platforms.linux;
|
|
lib = nixpkgs.lib;
|
|
packagePaths = rec {
|
|
rpi4_rt_6_1 = ./packages/linux_rpi4_rt_6_1;
|
|
rpi4_rt = rpi4_rt_6_1;
|
|
};
|
|
in rec {
|
|
packages = lib.genAttrs systems (system:
|
|
let
|
|
pkgs = (lib.mapAttrs (n: v:
|
|
lib.callPackageWith ((lib.recursiveUpdate packages.${system}
|
|
nixpkgs.legacyPackages.${system}) // { inherit inputs; }) v { }) packagePaths);
|
|
in (lib.mapAttrs' (n: v: lib.nameValuePair "linux_${n}" v) pkgs)
|
|
// (lib.mapAttrs' (n: v: lib.nameValuePair "linuxPackages_${n}" v.linuxPackages) pkgs));
|
|
legacyPackages = packages;
|
|
overlay = final: prev:
|
|
(lib.mapAttrs' (n: v: lib.nameValuePair "linux_${n}" (prev.callPackage v { raspberrypifw = prev.raspberrypifw; })) packagePaths)
|
|
// (lib.mapAttrs' (n: v: lib.nameValuePair "linuxPackages_${n}" final."linux_${n}") packagePaths)
|
|
// { raspberrypifw = final.linux_rpi4_rt.firmware; };
|
|
};
|
|
}
|