chore: use new nixpkgs with overlay which bring back go_1_20 instead of using old nixpkgs (#1162)

This commit is contained in:
Nobody6825 2025-05-06 17:11:46 +08:00 committed by GitHub
parent 0b89312d9d
commit 4151464bdc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 41 additions and 14 deletions

View File

@ -11,6 +11,7 @@
} }
), ),
buildGoApplication ? pkgs.buildGoApplication, buildGoApplication ? pkgs.buildGoApplication,
...
}: }:
buildGoApplication { buildGoApplication {
pname = "ZeroBot-Plugin"; pname = "ZeroBot-Plugin";

View File

@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741396135, "lastModified": 1742209644,
"narHash": "sha256-wqmdLr7h4Bk8gyKutgaApJKOM8JVvywI5P48NuqJ9Jg=", "narHash": "sha256-jMy1XqXqD0/tJprEbUmKilTkvbDY/C0ZGSsJJH4TNCE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "gomod2nix", "repo": "gomod2nix",
"rev": "0983848bf2a7ccbfe24d874065adb8fd0f23729b", "rev": "8f3534eb8f6c5c3fce799376dc3b91bae6b11884",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -42,6 +42,22 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1745391562,
"narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-with-go_1_20": {
"locked": { "locked": {
"lastModified": 1710843028, "lastModified": 1710843028,
"narHash": "sha256-CMbK45c4nSkGvayiEHFkGFH+doGPbgo3AWfecd2t1Fk=", "narHash": "sha256-CMbK45c4nSkGvayiEHFkGFH+doGPbgo3AWfecd2t1Fk=",
@ -61,7 +77,8 @@
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"gomod2nix": "gomod2nix", "gomod2nix": "gomod2nix",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs",
"nixpkgs-with-go_1_20": "nixpkgs-with-go_1_20"
} }
}, },
"systems": { "systems": {

View File

@ -1,8 +1,8 @@
{ {
description = " ZeroBot OneBot "; description = " ZeroBot OneBot ";
# pin nixpkgs to preserve dropped go_1_20 inputs.nixpkgs-with-go_1_20.url = "github:NixOS/nixpkgs/33c51330782cb486764eb598d5907b43dc87b4c2";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/33c51330782cb486764eb598d5907b43dc87b4c2"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.gomod2nix.url = "github:nix-community/gomod2nix"; inputs.gomod2nix.url = "github:nix-community/gomod2nix";
inputs.gomod2nix.inputs.nixpkgs.follows = "nixpkgs"; inputs.gomod2nix.inputs.nixpkgs.follows = "nixpkgs";
@ -11,14 +11,25 @@
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
nixpkgs-with-go_1_20,
flake-utils, flake-utils,
gomod2nix, gomod2nix,
}: let ...
} @ inputs: let
allSystems = flake-utils.lib.allSystems; allSystems = flake-utils.lib.allSystems;
in ( in (
flake-utils.lib.eachSystem allSystems flake-utils.lib.eachSystem allSystems
(system: let (system: let
pkgs = nixpkgs.legacyPackages.${system}; old-nixpkgs = nixpkgs-with-go_1_20.legacyPackages.${system};
pkgs = import nixpkgs {
inherit system;
overlays = [
(_: _: {
go_1_20 = old-nixpkgs.go_1_20;
})
];
};
# The current default sdk for macOS fails to compile go projects, so we use a newer one for now. # The current default sdk for macOS fails to compile go projects, so we use a newer one for now.
# This has no effect on other platforms. # This has no effect on other platforms.
@ -26,11 +37,10 @@
in { in {
# doCheck will fail at write files # doCheck will fail at write files
packages = rec { packages = rec {
ZeroBot-Plugin = (callPackage ./. (inputs
ZeroBot-Plugin = // {
(callPackage ./. {
inherit (gomod2nix.legacyPackages.${system}) buildGoApplication; inherit (gomod2nix.legacyPackages.${system}) buildGoApplication;
}) }))
.overrideAttrs (_: {doCheck = false;}); .overrideAttrs (_: {doCheck = false;});
default = ZeroBot-Plugin; default = ZeroBot-Plugin;
@ -43,7 +53,6 @@
pkgs.cacert pkgs.cacert
]; ];
}; };
}; };
devShells.default = callPackage ./shell.nix { devShells.default = callPackage ./shell.nix {
inherit (gomod2nix.legacyPackages.${system}) mkGoEnv gomod2nix; inherit (gomod2nix.legacyPackages.${system}) mkGoEnv gomod2nix;

View File

@ -13,7 +13,7 @@
mkGoEnv ? pkgs.mkGoEnv, mkGoEnv ? pkgs.mkGoEnv,
gomod2nix ? pkgs.gomod2nix, gomod2nix ? pkgs.gomod2nix,
}: let }: let
goEnv = mkGoEnv {pwd = ./.;}; goEnv = mkGoEnv { pwd = ./.; go = pkgs.go_1_20; };
in in
pkgs.mkShell { pkgs.mkShell {
packages = [ packages = [