From cd9ce7c88b74d8a420d0887184a7b7e5d5a0d9de Mon Sep 17 00:00:00 2001 From: Sylvain Rabot Date: Wed, 11 Mar 2026 09:24:21 +0100 Subject: [PATCH] chore: upgrade Go to 1.26 and modernize flake.nix Co-Authored-By: Claude Opus 4.6 (1M context) --- flake.lock | 27 +++++++++++++++++++++------ flake.nix | 53 ++++++++++++++++++++++++++++++----------------------- 2 files changed, 51 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 84c5394..ae75413 100644 --- a/flake.lock +++ b/flake.lock @@ -23,16 +23,30 @@ }, "nixpkgs": { "locked": { - "lastModified": 1773821835, - "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=", - "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0", - "revCount": 964859, + "lastModified": 1773068389, + "narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=", + "rev": "44bae273f9f82d480273bab26f5c50de3724f52f", + "revCount": 909173, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.964859%2Brev-b40629efe5d6ec48dd1efba650c797ddbd39ace0/019d03e9-2959-7276-adaa-d074e96422de/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2511.909173%2Brev-44bae273f9f82d480273bab26f5c50de3724f52f/019cdb71-ee45-7469-aca0-9d5b9fedf5c5/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": 1772963539, + "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", + "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", + "revCount": 960399, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.960399%2Brev-9dcb002ca1690658be4a04645215baea8b95f31d/019cd400-6f38-7074-b8c8-f84603ddd88b/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1" } }, "nur": { @@ -59,6 +73,7 @@ "root": { "inputs": { "nixpkgs": "nixpkgs", + "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" } } diff --git a/flake.nix b/flake.nix index 022bc85..95be414 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,8 @@ description = "Wallets dev env"; 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 = 24; - supportedSystems = [ "x86_64-linux" "aarch64-linux" @@ -26,11 +25,16 @@ 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; } ); speakeasyVersion = "1.351.0"; @@ -49,11 +53,7 @@ in { - overlays.default = final: prev: { - go = final."go_1_${toString goVersion}"; - }; - - packages = forEachSupportedSystem ({ pkgs, system }: + packages = forEachSupportedSystem ({ pkgs, pkgs-unstable, system }: { speakeasy = pkgs.stdenv.mkDerivation { pname = "speakeasy"; @@ -84,20 +84,27 @@ defaultPackage.x86_64-darwin = self.packages.x86_64-darwin.speakeasy; defaultPackage.aarch64-darwin = self.packages.aarch64-darwin.speakeasy; - devShells = forEachSupportedSystem ({ pkgs, system }: + devShells = forEachSupportedSystem ({ pkgs, pkgs-unstable, system }: + let + stablePackages = with pkgs; [ + ginkgo + go_1_26 + gotools + just + ]; + unstablePackages = with pkgs-unstable; [ + golangci-lint + ]; + otherPackages = [ + pkgs.nur.repos.goreleaser.goreleaser-pro + self.packages.${system}.speakeasy + ]; + in { default = pkgs.mkShell { - packages = with pkgs; [ - go - gotools - golangci-lint - ginkgo - pkgs.nur.repos.goreleaser.goreleaser-pro - self.packages.${system}.speakeasy - just - ]; + packages = stablePackages ++ unstablePackages ++ otherPackages; }; } ); }; -} \ No newline at end of file +}