diff --git a/flake.lock b/flake.lock index b283516d..40508c5e 100644 --- a/flake.lock +++ b/flake.lock @@ -23,16 +23,30 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752480373, - "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", - "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", - "revCount": 830073, + "lastModified": 1769598131, + "narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=", + "rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211", + "revCount": 906709, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.830073%2Brev-62e0f05ede1da0d54515d4ea8ce9c733f12d9f08/01980c9b-b772-7845-b3a6-0d40f1f219ce/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2511.906709%2Brev-fa83fd837f3098e3e678e6cf017b2b36102c7211/019c084c-b4eb-7e65-90ad-f4fc053d9dee/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz" + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2511" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1769461804, + "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", + "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", + "revCount": 935279, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.935279%2Brev-bfc1b8a4574108ceef22f02bafcf6611380c100d/019c02ef-f13d-717e-8527-f1603ec205db/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1" } }, "nur": { @@ -43,11 +57,11 @@ ] }, "locked": { - "lastModified": 1752568184, - "narHash": "sha256-wPcj4AcTSb1cYH5LRCd/cXQkIba3pgbAnBtwb1WuY+A=", + "lastModified": 1769937195, + "narHash": "sha256-KNdseWGqvSgHxZPAohcesW2oXWfqlxmqTiYHskdDrPY=", "owner": "nix-community", "repo": "NUR", - "rev": "03d68216ee4db72b0813d8ffc5570473dca589ed", + "rev": "09c84a74886a0017a80b82f556e0b2f3e14957e3", "type": "github" }, "original": { @@ -59,6 +73,7 @@ "root": { "inputs": { "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" } } diff --git a/flake.nix b/flake.nix index 3c3e73be..53f81bbc 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,9 @@ { - description = "A Nix-flake-based Go 1.23 development environment"; + description = "A Nix-flake-based Go 1.25 development environment"; inputs = { - nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz"; + nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.2511"; + nixpkgs-unstable.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; nur = { url = "github:nix-community/NUR"; @@ -10,10 +11,8 @@ }; }; - outputs = { self, nixpkgs, nur }: + outputs = { self, nixpkgs, nixpkgs-unstable, nur }: let - goVersion = 23; - supportedSystems = [ "x86_64-linux" "aarch64-linux" @@ -26,33 +25,41 @@ let pkgs = import nixpkgs { inherit system; - overlays = [ self.overlays.default nur.overlays.default ]; - config = { allowUnfree = true; }; + overlays = [ nur.overlays.default ]; + config.allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [ + "goreleaser-pro" + ]; + }; + pkgs-unstable = import nixpkgs-unstable { + inherit system; }; in - f { pkgs = pkgs; system = system; } + f { pkgs = pkgs; pkgs-unstable = pkgs-unstable; system = system; } ); in { - overlays.default = final: prev: { - go = final."go_1_${toString goVersion}"; - }; - - devShells = forEachSupportedSystem ({ pkgs, system }: + devShells = forEachSupportedSystem ({ pkgs, pkgs-unstable, system }: + let + stablePackages = with pkgs; [ + antlr + ginkgo + go_1_25 + goperf + gotools + just + ]; + unstablePackages = with pkgs-unstable; [ + golangci-lint + ]; + otherPackages = [ + pkgs.nur.repos.goreleaser.goreleaser-pro + ]; + in { default = pkgs.mkShell { - packages = with pkgs; [ - go - gotools - golangci-lint - ginkgo - pkgs.nur.repos.goreleaser.goreleaser-pro - just - goperf - antlr - ]; + packages = stablePackages ++ unstablePackages ++ otherPackages; }; } ); }; -} \ No newline at end of file +}