From cf26a890261209f478c689252aa9ab4aa8b7c29d Mon Sep 17 00:00:00 2001 From: bin Date: Mon, 29 Dec 2025 04:37:41 -0500 Subject: [PATCH] nix: use `gomod2nix`. --- flake.lock | 24 ++++++ flake.nix | 23 +++++- gomod2nix.toml | 204 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 247 insertions(+), 4 deletions(-) create mode 100644 gomod2nix.toml diff --git a/flake.lock b/flake.lock index e2df84f..46806ad 100644 --- a/flake.lock +++ b/flake.lock @@ -18,6 +18,29 @@ "type": "github" } }, + "gomod2nix": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1763982521, + "narHash": "sha256-ur4QIAHwgFc0vXiaxn5No/FuZicxBr2p0gmT54xZkUQ=", + "owner": "nix-community", + "repo": "gomod2nix", + "rev": "02e63a239d6eabd595db56852535992c898eba72", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "gomod2nix", + "type": "github" + } + }, "nix-filter": { "locked": { "lastModified": 1757882181, @@ -52,6 +75,7 @@ "root": { "inputs": { "flake-utils": "flake-utils", + "gomod2nix": "gomod2nix", "nix-filter": "nix-filter", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index 272ffc3..1b5e4ed 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,12 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; nix-filter.url = "github:numtide/nix-filter"; + + gomod2nix = { + url = "github:nix-community/gomod2nix"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; }; outputs = @@ -11,13 +17,20 @@ nixpkgs, flake-utils, nix-filter, - }: + ... + }@inputs: flake-utils.lib.eachDefaultSystem ( system: let - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = import nixpkgs { + inherit system; - git-pages = pkgs.buildGo125Module { + overlays = [ + inputs.gomod2nix.overlays.default + ]; + }; + + git-pages = pkgs.buildGoApplication { pname = "git-pages"; version = "0"; @@ -43,7 +56,8 @@ "-s -w" ]; - vendorHash = "sha256-xG2hFc5ugJOPNCBz+GEoC7Wa5ATh86q8MrZRqs+HFUg="; + go = pkgs.go_1_25; + modules = ./gomod2nix.toml; }; in { @@ -56,6 +70,7 @@ packages = with pkgs; [ caddy + gomod2nix ]; }; diff --git a/gomod2nix.toml b/gomod2nix.toml new file mode 100644 index 0000000..a9b64ad --- /dev/null +++ b/gomod2nix.toml @@ -0,0 +1,204 @@ +schema = 3 + +[mod] + [mod."codeberg.org/git-pages/go-headers"] + version = "v1.1.1" + hash = "sha256-qgL7l1FHXxcBWhBnBLEI0yENd6P+frvwlKxEAXLA3VY=" + [mod."codeberg.org/git-pages/go-slog-syslog"] + version = "v0.0.0-20251207093707-892f654e80b7" + hash = "sha256-ye+DBIyxqTEOViYRrQPWyGJCaLmyKSDwH5btlqDPizM=" + [mod."github.com/KimMachineGun/automemlimit"] + version = "v0.7.5" + hash = "sha256-lH/ip9j2hbYUc2W/XIYve/5TScQPZtEZe3hu76CY//k=" + [mod."github.com/Microsoft/go-winio"] + version = "v0.6.2" + hash = "sha256-tVNWDUMILZbJvarcl/E7tpSnkn7urqgSHa2Eaka5vSU=" + [mod."github.com/ProtonMail/go-crypto"] + version = "v1.3.0" + hash = "sha256-TUG+C4MyeWglOmiwiW2/NUVurFHXLgEPRd3X9uQ1NGI=" + [mod."github.com/beorn7/perks"] + version = "v1.0.1" + hash = "sha256-h75GUqfwJKngCJQVE5Ao5wnO3cfKD9lSIteoLp/3xJ4=" + [mod."github.com/c2h5oh/datasize"] + version = "v0.0.0-20231215233829-aa82cc1e6500" + hash = "sha256-8MqL7xCvE6fIjanz2jwkaLP1OE5kLu62TOcQx452DHQ=" + [mod."github.com/cespare/xxhash/v2"] + version = "v2.3.0" + hash = "sha256-7hRlwSR+fos1kx4VZmJ/7snR7zHh8ZFKX+qqqqGcQpY=" + [mod."github.com/cloudflare/circl"] + version = "v1.6.1" + hash = "sha256-Dc69V12eIFnJoUNmwg6VKXHfAMijbAeEVSDe8AiOaLo=" + [mod."github.com/creasty/defaults"] + version = "v1.8.0" + hash = "sha256-I1LE1cfOhMS5JxB7+fWTKieefw2Gge1UhIZh+A6pa6s=" + [mod."github.com/cyphar/filepath-securejoin"] + version = "v0.6.1" + hash = "sha256-obqip8c1c9mjXFznyXF8aDnpcMw7ttzv+e28anCa/v0=" + [mod."github.com/davecgh/go-spew"] + version = "v1.1.1" + hash = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI=" + [mod."github.com/dghubble/trie"] + version = "v0.1.0" + hash = "sha256-hVh7uYylpMCCSPcxl70hJTmzSwaA1MxBmJFBO5Xdncc=" + [mod."github.com/dustin/go-humanize"] + version = "v1.0.1" + hash = "sha256-yuvxYYngpfVkUg9yAmG99IUVmADTQA0tMbBXe0Fq0Mc=" + [mod."github.com/emirpasic/gods"] + version = "v1.18.1" + hash = "sha256-hGDKddjLj+5dn2woHtXKUdd49/3xdsqnhx7VEdCu1m4=" + [mod."github.com/fatih/color"] + version = "v1.18.0" + hash = "sha256-pP5y72FSbi4j/BjyVq/XbAOFjzNjMxZt2R/lFFxGWvY=" + [mod."github.com/getsentry/sentry-go"] + version = "v0.40.0" + hash = "sha256-mJ+EzM8WRzJ2Yp7ithDJNceU4+GbzQyi46yc8J8d13Y=" + [mod."github.com/getsentry/sentry-go/slog"] + version = "v0.40.0" + hash = "sha256-uc9TpKiWMEpRbxwV2uGQeq1DDdZi+APOgu2StVzzEkw=" + [mod."github.com/go-git/gcfg/v2"] + version = "v2.0.2" + hash = "sha256-icqMDeC/tEg/3979EuEN67Ml5KjdDA0R3QvR6iLLrSI=" + [mod."github.com/go-git/go-billy/v6"] + version = "v6.0.0-20251217170237-e9738f50a3cd" + hash = "sha256-b2yunYcPUiLTU+Rr8qTBdsDEfsIhZDYmyqKW5udmpFY=" + [mod."github.com/go-git/go-git/v6"] + version = "v6.0.0-20251224103503-78aff6aa5ea9" + hash = "sha256-kYjDqH0NZ+sxQnj5K8xKfO2WOVKtQ/7tWcqY6KYqAZE=" + [mod."github.com/go-ini/ini"] + version = "v1.67.0" + hash = "sha256-V10ahGNGT+NLRdKUyRg1dos5RxLBXBk1xutcnquc/+4=" + [mod."github.com/golang/groupcache"] + version = "v0.0.0-20241129210726-2c02b8208cf8" + hash = "sha256-AdLZ3dJLe/yduoNvZiXugZxNfmwJjNQyQGsIdzYzH74=" + [mod."github.com/google/uuid"] + version = "v1.6.0" + hash = "sha256-VWl9sqUzdOuhW0KzQlv0gwwUQClYkmZwSydHG2sALYw=" + [mod."github.com/jpillora/backoff"] + version = "v1.0.0" + hash = "sha256-uxHg68NN8hrwPCrPfLYYprZHf7dMyEoPoF46JFx0IHU=" + [mod."github.com/kankanreno/go-snowflake"] + version = "v1.2.0" + hash = "sha256-713xGEqjwaUGIu2EHII5sldWmcquFpxZmte/7R/O6LA=" + [mod."github.com/kevinburke/ssh_config"] + version = "v1.4.0" + hash = "sha256-UclxB7Ll1FZCgU2SrGkiGdr4CoSRJ127MNnZtxKTsvg=" + [mod."github.com/klauspost/compress"] + version = "v1.18.2" + hash = "sha256-mRa+6qEi5joqQao13ZFogmq67rOQzHCVbCCjKA+HKEc=" + [mod."github.com/klauspost/cpuid/v2"] + version = "v2.3.0" + hash = "sha256-50JhbQyT67BK38HIdJihPtjV7orYp96HknI2VP7A9Yc=" + [mod."github.com/klauspost/crc32"] + version = "v1.3.0" + hash = "sha256-RsS/MDJbVzVB+i74whqABgwZJWMw+AutF6HhJBVgbag=" + [mod."github.com/leodido/go-syslog/v4"] + version = "v4.3.0" + hash = "sha256-fCJ2rgrrPR/Ey/PoAsJhd8Sl8mblAnnMAmBuoWFBTgg=" + [mod."github.com/mattn/go-colorable"] + version = "v0.1.13" + hash = "sha256-qb3Qbo0CELGRIzvw7NVM1g/aayaz4Tguppk9MD2/OI8=" + [mod."github.com/mattn/go-isatty"] + version = "v0.0.20" + hash = "sha256-qhw9hWtU5wnyFyuMbKx+7RB8ckQaFQ8D+8GKPkN3HHQ=" + [mod."github.com/maypok86/otter/v2"] + version = "v2.3.0" + hash = "sha256-ELzmi/s2WqDeUmzSGnfx+ys2Hs28XHqF7vlEzyRotIA=" + [mod."github.com/minio/crc64nvme"] + version = "v1.1.0" + hash = "sha256-OwlE70X91WO4HdbpGsOaB4w12Qrk0duCpfLeAskiqY8=" + [mod."github.com/minio/md5-simd"] + version = "v1.1.2" + hash = "sha256-vykcXvy2VBBAXnJott/XsGTT0gk2UL36JzZKfJ1KAUY=" + [mod."github.com/minio/minio-go/v7"] + version = "v7.0.97" + hash = "sha256-IwF14tWVYjBi28jUG9iFYd4Lpbc7Fvyy0zRzEZ82UEE=" + [mod."github.com/munnerz/goautoneg"] + version = "v0.0.0-20191010083416-a7dc8b61c822" + hash = "sha256-79URDDFenmGc9JZu+5AXHToMrtTREHb3BC84b/gym9Q=" + [mod."github.com/pbnjay/memory"] + version = "v0.0.0-20210728143218-7b4eea64cf58" + hash = "sha256-QI+F1oPLOOtwNp8+m45OOoSfYFs3QVjGzE0rFdpF/IA=" + [mod."github.com/pelletier/go-toml/v2"] + version = "v2.2.4" + hash = "sha256-8qQIPldbsS5RO8v/FW/se3ZsAyvLzexiivzJCbGRg2Q=" + [mod."github.com/philhofer/fwd"] + version = "v1.2.0" + hash = "sha256-cGx2/0QQay46MYGZuamFmU0TzNaFyaO+J7Ddzlr/3dI=" + [mod."github.com/pjbgf/sha1cd"] + version = "v0.5.0" + hash = "sha256-11XBkhdciQGsQ7jEMZ6PgphRKjruTSc7ZxfOwDuPCr8=" + [mod."github.com/pkg/errors"] + version = "v0.9.1" + hash = "sha256-mNfQtcrQmu3sNg/7IwiieKWOgFQOVVe2yXgKBpe/wZw=" + [mod."github.com/pmezard/go-difflib"] + version = "v1.0.0" + hash = "sha256-/FtmHnaGjdvEIKAJtrUfEhV7EVo5A/eYrtdnUkuxLDA=" + [mod."github.com/pquerna/cachecontrol"] + version = "v0.2.0" + hash = "sha256-tuTERCFfwmqPepw/rs5cyv9fArCD30BqgjZqwMV+vzQ=" + [mod."github.com/prometheus/client_golang"] + version = "v1.23.2" + hash = "sha256-3GD4fBFa1tJu8MS4TNP6r2re2eViUE+kWUaieIOQXCg=" + [mod."github.com/prometheus/client_model"] + version = "v0.6.2" + hash = "sha256-q6Fh6v8iNJN9ypD47LjWmx66YITa3FyRjZMRsuRTFeQ=" + [mod."github.com/prometheus/common"] + version = "v0.66.1" + hash = "sha256-bqHPaV9IV70itx63wqwgy2PtxMN0sn5ThVxDmiD7+Tk=" + [mod."github.com/prometheus/procfs"] + version = "v0.16.1" + hash = "sha256-OBCvKlLW2obct35p0L9Q+1ZrxZjpTmbgHMP2rng9hpo=" + [mod."github.com/rs/xid"] + version = "v1.6.0" + hash = "sha256-rJB7h3KuH1DPp5n4dY3MiGnV1Y96A10lf5OUl+MLkzU=" + [mod."github.com/samber/lo"] + version = "v1.52.0" + hash = "sha256-xgMsPJv3rydHH10NZU8wz/DhK2VbbR8ymivOg1ChTp0=" + [mod."github.com/samber/slog-common"] + version = "v0.19.0" + hash = "sha256-OYXVbZML7c3mFClVy8GEnNoWW+4OfcBsxWDtKh1u7B8=" + [mod."github.com/samber/slog-multi"] + version = "v1.6.0" + hash = "sha256-uebbTcvsBP2LdOUIjDptES+HZOXxThnIt3+FKL0qJy4=" + [mod."github.com/sergi/go-diff"] + version = "v1.4.0" + hash = "sha256-rs9NKpv/qcQEMRg7CmxGdP4HGuFdBxlpWf9LbA9wS4k=" + [mod."github.com/stretchr/testify"] + version = "v1.11.1" + hash = "sha256-sWfjkuKJyDllDEtnM8sb/pdLzPQmUYWYtmeWz/5suUc=" + [mod."github.com/tinylib/msgp"] + version = "v1.3.0" + hash = "sha256-PnpndO7k5Yl036vhWJGDsrcz0jsTX8sUiTqm/D3rAVw=" + [mod."github.com/tj/assert"] + version = "v0.0.3" + hash = "sha256-4xhmZcHpUafabaXejE9ucVnGxG/txomvKzBg6cbkusg=" + [mod."github.com/tj/go-redirects"] + version = "v0.0.0-20200911105812-fd1ba1020b37" + hash = "sha256-GpYpxdT4F7PkwGXLo7cYVcIRJrzd1sKHtFDH+bRb6Tk=" + [mod."github.com/valyala/bytebufferpool"] + version = "v1.0.0" + hash = "sha256-I9FPZ3kCNRB+o0dpMwBnwZ35Fj9+ThvITn8a3Jr8mAY=" + [mod."github.com/valyala/fasttemplate"] + version = "v1.2.2" + hash = "sha256-gp+lNXE8zjO+qJDM/YbS6V43HFsYP6PKn4ux1qa5lZ0=" + [mod."go.yaml.in/yaml/v2"] + version = "v2.4.2" + hash = "sha256-oC8RWdf1zbMYCtmR0ATy/kCkhIwPR9UqFZSMOKLVF/A=" + [mod."golang.org/x/crypto"] + version = "v0.46.0" + hash = "sha256-I8N/spcw3/h0DFA+V1WK38HctckWIB9ep93DEVCALxU=" + [mod."golang.org/x/net"] + version = "v0.48.0" + hash = "sha256-oZpddsiJwWCH3Aipa+XXpy7G/xHY5fEagUSok7T0bXE=" + [mod."golang.org/x/sys"] + version = "v0.39.0" + hash = "sha256-dxTBu/JAWUkPbjFIXXRFdhQWyn+YyEpIC+tWqGo0Y6U=" + [mod."golang.org/x/text"] + version = "v0.32.0" + hash = "sha256-9PXtWBKKY9rG4AgjSP4N+I1DhepXhy8SF/vWSIDIoWs=" + [mod."google.golang.org/protobuf"] + version = "v1.36.11" + hash = "sha256-7W+6jntfI/awWL3JP6yQedxqP5S9o3XvPgJ2XxxsIeE=" + [mod."gopkg.in/yaml.v3"] + version = "v3.0.1" + hash = "sha256-FqL9TKYJ0XkNwJFnq9j0VvJ5ZUU1RvH/52h/f5bkYAU="