mirror of
https://github.com/icewind1991/cynthion-flake.git
synced 2026-06-03 06:14:06 +02:00
53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{
|
|
inputs = {
|
|
utils.url = "github:numtide/flake-utils";
|
|
nixpkgs.url = "nixpkgs/release-24.05";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
utils,
|
|
}: let
|
|
platformVersions = ["0D1" "0D2" "0D3" "0D4" "0D5" "0D6" "0D7" "1D0" "1D1" "1D2" "1D3" "1D4"];
|
|
bitstreams = ["analyzer" "selftest" "facedancer"];
|
|
gateware-matrix = nixpkgs.lib.mapCartesianProduct nixpkgs.lib.trivial.id {
|
|
platform = platformVersions;
|
|
bitstream = bitstreams;
|
|
};
|
|
in utils.lib.eachDefaultSystem (system: let
|
|
overlays = [
|
|
(import ./overlay.nix)
|
|
];
|
|
pkgs = (import nixpkgs) {
|
|
inherit system overlays;
|
|
};
|
|
inherit (pkgs) lib;
|
|
|
|
cynthion-gateware-individual = lib.listToAttrs (map ({
|
|
platform,
|
|
bitstream,
|
|
}: {
|
|
name = "${bitstream}-${platform}";
|
|
value = pkgs.cynthion-gateware-single.override {
|
|
inherit bitstream;
|
|
platform = "CynthionPlatformRev${platform}";
|
|
};
|
|
})
|
|
gateware-matrix);
|
|
in rec {
|
|
devShells.default =
|
|
pkgs.mkShell {
|
|
};
|
|
packages = {
|
|
inherit (pkgs) packetry cynthion cynthion-udev apollo-cynthion cynthion-gateware apollo-fpga;
|
|
inherit cynthion-gateware-individual;
|
|
};
|
|
})
|
|
// {
|
|
overlays.default = import ./overlay.nix;
|
|
gateware-matrix = {
|
|
include = gateware-matrix;
|
|
};
|
|
};
|
|
}
|