{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; templ = { url = "github:a-h/templ?ref=tags/v0.2.598"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs @ { self, nixpkgs, flake-utils, pre-commit-hooks, templ, }: flake-utils.lib.eachSystem ["x86_64-linux"] ( system: let pkgs = nixpkgs.legacyPackages.${system}; templ-pkg = templ.packages.${system}.default; in { checks = { pre-commit-check = pre-commit-hooks.lib.${system}.run { src = ./.; hooks = { gofmt.enable = true; govet.enable = true; revive.enable = true; }; }; }; devShells.default = pkgs.mkShell { inherit (self.checks.${system}.pre-commit-check) shellHook; buildInputs = [ pkgs.go pkgs.gopls pkgs.tailwindcss pkgs.tailwindcss-language-server templ-pkg ]; }; } ); }