Documentation
{
  description = "TODO";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";

    blueprint = {
      url = "github:numtide/blueprint";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    devenv = {
      url = "github:cachix/devenv";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    crane.url = "github:ipetkov/crane";

    fenix = {
      url = "github:nix-community/fenix";
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.rust-analyzer-src.follows = "";
    };

    advisory-db = {
      url = "github:rustsec/advisory-db";
      flake = false;
    };

    treefmt-nix = {
      # Using my fork until typos PR goes in https://github.com/numtide/treefmt-nix/pull/239
      url = "github:adam-gaia/treefmt-nix/typos";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    # Shim to allow user-level config until https://github.com/nextest-rs/nextest/issues/1419 is done
    # TODO: can we get crane's builtin nextest thing to use this?
    cargo-nextest-xdg = {
      url = "github:adam-gaia/cargo-nextest-xdg";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = inputs:
    inputs.blueprint {
      inherit inputs;
      prefix = "nix";
    };
}