{ inputs = { flake-utils.url = "github:numtide/flake-utils"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; treefmt-nix.url = "github:numtide/treefmt-nix"; gitignore.url = "github:hercules-ci/gitignore.nix"; }; outputs = {...} @ inputs: inputs.flake-utils.lib.eachDefaultSystem ( system: let pkgs = (import inputs.nixpkgs) { inherit system; config = { }; }; in { devShells = rec { dot = pkgs.mkShell { packages = with pkgs; [ graphviz-nox ]; }; default = dot; }; formatter = let treefmtconfig = inputs.treefmt-nix.lib.evalModule pkgs { projectRootFile = "flake.nix"; programs = { toml-sort.enable = true; yamlfmt.enable = true; mdformat.enable = true; prettier.enable = true; shellcheck.enable = true; shfmt.enable = true; }; settings.formatter.shellcheck.excludes = [".envrc"]; }; in treefmtconfig.config.build.wrapper; apps = rec { }; packages = rec { graphs = pkgs.callPackage ./nix/build.nix { }; default = graphs; }; } ); }