{ inputs, ... }: { imports = [ inputs.devshell.flakeModule inputs.treefmt-nix.flakeModule inputs.pre-commit-hooks.flakeModule ]; perSystem = { config, pkgs, ... }: { devshells.default = { name = "world"; devshell.startup.pre-commit.text = config.pre-commit.installationScript; packages = with pkgs; [ (config.treefmt.build.wrapper) python3 just pandoc nixos-rebuild ]; env = [{ name = "DEVSHELL_NO_MOTD"; value = "1"; }]; }; treefmt = { projectRootFile = ".git/config"; flakeFormatter = true; flakeCheck = true; # list of supported programs # https://github.com/numtide/treefmt-nix programs = { nixpkgs-fmt.enable = true; shfmt.enable = true; taplo.enable = true; ruff.enable = true; yamlfmt.enable = true; }; }; pre-commit = { check.enable = true; settings = { hooks = { deadnix.enable = true; treefmt.enable = true; }; }; }; }; }