{ description = "getchoo's personal website"; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs-stable.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, pre-commit-hooks, ... }: let systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs systems; nixpkgsFor = forAllSystems (system: import nixpkgs {inherit system;}); in { checks = forAllSystems (system: { pre-commit-check = pre-commit-hooks.lib.${system}.run { src = ./.; hooks = { alejandra.enable = true; prettier.enable = true; editorconfig-checker.enable = true; }; }; }); devShells = forAllSystems (system: let pkgs = nixpkgsFor.${system}; inherit (pkgs) mkShell; in { default = mkShell { inherit (self.checks.${system}.pre-commit-check) shellHook; packages = with pkgs; [ alejandra deno fzf just nodePackages.prettier ]; }; }); }; }