riotee/flake.nix
2025-07-30 16:47:28 +02:00

38 lines
1 KiB
Nix

{
outputs = { self, nixpkgs, ... }: let
lib = nixpkgs.lib;
scan = base: lib.attrsets.mapAttrs' (name: _: {
name = lib.strings.removeSuffix ".nix" (builtins.baseNameOf name);
value = import "${base}/${name}";
}) (builtins.readDir base);
sdk = fetch: fetch {
owner = "NessieCircuits";
repo = "Riotee_SDK";
tag = "v1.2.0";
hash = "sha256-1ZFvbGiTzAuBnKGUe/MAAI4D+d+jl/LCLcYqthkxB5M=";
};
packages = let
packages = scan ./packages;
in system: pkgs: builtins.mapAttrs (_: fn: pkgs.callPackage fn {}) packages;
devShells = system: pkgs: {
default = pkgs.mkShell {
buildInputs = with pkgs; [
self.packages.${system}.riotee-probe
gnumake
gcc-arm-embedded
];
shellHook = ''
export RIOTEE_SDK_ROOT="${sdk pkgs.fetchFromGitHub}"
'';
};
};
in {
packages = builtins.mapAttrs packages nixpkgs.legacyPackages;
devShells = builtins.mapAttrs devShells nixpkgs.legacyPackages;
};
}