toml-path 0.1.0

jq for tomls
Documentation
{
  inputs,
  pkgs,
  perSystem,
}: let
  crateBuilder = inputs.self.lib.mkCrateBuilder pkgs;
  craneLib = crateBuilder.craneLib;
  lib = crateBuilder.lib;

  # Treefmt doesn't easily expose the programs with out its flake-parts module (as far as I can tell)
  # This snipit, modified from their default.nix, lets us grab the programs after buiding with our treefmt config
  treefmt-module-builder = nixpkgs: configuration: let
    mod = inputs.treefmt-nix.lib.evalModule nixpkgs configuration;
  in
    mod.config.build;
  treefmt-module = treefmt-module-builder pkgs (import ./treefmt.nix);
  treefmt-bin = treefmt-module.wrapper;
  treefmt-programs = lib.attrValues treefmt-module.programs;
in
  craneLib.devShell {
    # Inherit inputs from checks.
    #checks = self.checks.${system}; TODO

    # Additional dev-shell environment variables can be set directly
    # MY_CUSTOM_DEVELOPMENT_VAR = "something else";

    # Extra inputs can be added here; cargo and rustc are provided by default.
    packages = with pkgs;
      [
        cargo-limit
        cargo-nextest
        just
        bacon
        cargo-dist
        oranda
        treefmt-bin
        perSystem.cargo-nextest-xdg.default
      ]
      ++ treefmt-programs;
  }