{ 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 pico-sdk picocom usbutils picotool ]; shellHook = '' ln -sf ${PICO_SDK_PATH}/external/pico_sdk_import.cmake pico_sdk_import.cmake ''; inherit PICO_SDK_PATH; }; }); }