Skip to content

Developer Guide

Everything you need to work on Infrastructure Mapper itself — from spinning up the Nix devshell, through the convenience scripts, to the contribution flow.

  • The Dev Shell


    Install Nix, enter the project's reproducible dev shell, see the welcome banner that lists every nix run app the project ships.

    Set up the dev shell

  • Local Build


    Five minutes from a fresh nix develop to a working GeoPackage open in QGIS. The from-source path; end users just download a release artefact.

    Build locally

  • The Nix Flake


    What's in the devshell, why everything is pinned, and how to add a new dependency without breaking determinism.

    The flake

  • Scripts & Apps


    Every scripts/* entry point and its matching nix run .#… app, with what each one actually does.

    Browse scripts

  • Project Structure


    Top-level layout, why files live where they do, and the load order between sql/, sql/migrations/, and the runners.

    Tree map

  • Contributing


    Branch from main, write a paired migration, annotate with Issue-NNN:, get the pre-commit suite green, open a PR.

    Contribution flow