{ description = "Subbit.xyz iou generator"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; rust-flake.url = "github:juspay/rust-flake"; flake-parts.url = "github:hercules-ci/flake-parts"; git-hooks-nix.url = "github:cachix/git-hooks.nix"; git-hooks-nix.inputs.nixpkgs.follows = "nixpkgs"; treefmt-nix.url = "github:numtide/treefmt-nix"; treefmt-nix.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} { imports = [ inputs.rust-flake.flakeModules.default inputs.rust-flake.flakeModules.nixpkgs inputs.git-hooks-nix.flakeModule inputs.treefmt-nix.flakeModule ]; systems = [ "x86_64-linux" ]; perSystem = { self', config, inputs', pkgs, lib, system, ... }: { devShells.default = pkgs.mkShell { inputsFrom = [ self'.devShells.rust config.pre-commit.devShell ]; shellHook = '' echo 1>&2 "Welcome to the development shell!" ${config.pre-commit.installationScript} ''; name = "subbit-xyz-iou"; packages = with pkgs; [ ]; }; treefmt = { projectRootFile = "flake.nix"; flakeFormatter = true; programs = { prettier = { enable = true; settings = { printWidth = 80; proseWrap = "always"; }; }; alejandra.enable = true; rustfmt.enable = true; }; }; pre-commit.settings.hooks.treefmt.enable = true; }; flake = { }; }; }