{ description = "URL shortener written in Go"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; treefmt-nix.url = "github:numtide/treefmt-nix"; }; outputs = inputs @ {flake-parts, ...}: flake-parts.lib.mkFlake {inherit inputs;} ({...}: { imports = [ inputs.treefmt-nix.flakeModule ]; systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"]; perSystem = {pkgs, ...}: { treefmt = { projectRootFile = ".git/config"; programs = { alejandra.enable = true; deadnix.enable = true; gofumpt.enable = true; prettier.enable = true; }; }; devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ # Go tools go gopls # Database atlas sqlc postgresql_16 # Lint golangci-lint # Tools just ]; }; }; }); }