{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem(system: let pkgs = import nixpkgs { inherit system; }; pico-sdk = pkgs.pico-sdk.override { withSubmodules = true; }; PICO_SDK_PATH = "${pico-sdk}/lib/pico-sdk"; in { devShell = 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; }; }); }