{ description = "Description for the project"; inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; git-hooks-nix.url = "github:cachix/git-hooks.nix"; }; outputs = inputs@{ flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { imports = [ inputs.git-hooks-nix.flakeModule ]; systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; perSystem = { config, self', inputs', pkgs, system, ... }: { packages.default = pkgs.callPackage ./default.nix { }; devShells.default = import ./shell.nix { inherit pkgs; shellHook = config.pre-commit.installationScript; }; pre-commit = { check.enable = true; settings.excludes = [ ".envrc" ]; settings.hooks.shellcheck.enable = true; settings.hooks.nixpkgs-fmt.enable = true; }; }; flake = { }; }; }