{ inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; outputs = inputs @ { nixpkgs , systems , ... }: let inherit (nixpkgs) lib; eachSystem = lib.genAttrs (import systems); pkgsFor = eachSystem (system: import nixpkgs { localSystem = system; }); in { devShells = eachSystem (system: { default = let pkgs = pkgsFor.${system}; pico-sdk = pkgs.pico-sdk.override { withSubmodules = true; }; PICO_SDK_PATH = "${pico-sdk}/lib/pico-sdk"; in pkgs.mkShell { name = "PicoVGA dev shell"; inputsFrom = [ pico-sdk ]; packages = with pkgs; [ gcc-arm-embedded python3 usbutils picotool ] ++ [ pico-sdk ]; shellHook = '' ln -sf ${PICO_SDK_PATH}/external/pico_sdk_import.cmake pico_sdk_import.cmake ''; inherit PICO_SDK_PATH; }; }); }; }