{ description = "A Nix-flake-based Go 1.22 development environment"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; outputs = inputs: let goVersion = 25; # Change this to update the whole stack supportedSystems = [ "aarch64-darwin" ]; forEachSupportedSystem = f: inputs.nixpkgs.lib.genAttrs supportedSystems (system: f { pkgs = import inputs.nixpkgs { inherit system; overlays = [ inputs.self.overlays.default ]; }; }); in { overlays.default = final: prev: { go = final."go_1_${toString goVersion}"; }; devShells = forEachSupportedSystem ({ pkgs }: { default = pkgs.mkShell { packages = with pkgs; [ go gotools golangci-lint ]; }; }); }; }