Files
linux_rpi4_rt-nix/flake.nix
2023-09-27 08:29:22 +03:00

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; };
};
}