diff --git a/flake.lock b/flake.lock index c717b0a..7ce01b3 100644 --- a/flake.lock +++ b/flake.lock @@ -36,6 +36,26 @@ "type": "github" } }, + "globset": { + "inputs": { + "nixpkgs-lib": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729844927, + "narHash": "sha256-nBkQx23jgpGPk3aU2KcqJCoYvzjsKEjWBePmc2z8N3k=", + "owner": "pdtpartners", + "repo": "globset", + "rev": "eb9d9e64b7ab0a64c34ba4a5a990b66506401c35", + "type": "github" + }, + "original": { + "owner": "pdtpartners", + "repo": "globset", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1717696253, @@ -55,6 +75,7 @@ "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts", + "globset": "globset", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 8b542b1..a54b063 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,10 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-24.05"; + globset = { + url = "github:pdtpartners/globset"; + inputs.nixpkgs-lib.follows = "nixpkgs"; + }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; diff --git a/modules/flake/overlays.nix b/modules/flake/overlays.nix index addbaab..2b75f00 100644 --- a/modules/flake/overlays.nix +++ b/modules/flake/overlays.nix @@ -1,24 +1,23 @@ { self, inputs, ... }: { # Provide overlay to add `nix-snapshotter`. - flake.overlays.default = self: super: - let - - in { - nix-snapshotter = self.callPackage ../../package.nix {}; + flake.overlays.default = self: super: { + nix-snapshotter = self.callPackage ../../package.nix { + inherit (inputs) globset; + }; - k3s = super.k3s_1_30.override { - buildGoModule = args: super.buildGoModule (args // super.lib.optionalAttrs (args.pname != "k3s-cni-plugins" && args.pname != "k3s-containerd") { - vendorHash = { - "sha256-XtTahFaWnuHzKDI/U4d/j4C4gRxH163MCGEEM4hu/WM=" = "sha256-XuMP+ffwTdXKL9q9+ZJUQc5ghGEcdY9UdefjCD19OUE="; - "sha256-Mj9Q3TgqZoJluG4/nyuw2WHnB3OJ+/mlV7duzWt1B1A=" = "sha256-9i0vY+CqrLDKYBZPooccX7OtFhS3//mpKTLntvPYDJo="; - }.${args.vendorHash}; - patches = (args.patches or []) ++ [ - ./patches/k3s-nix-snapshotter.patch - ]; - }); - }; + k3s = super.k3s_1_30.override { + buildGoModule = args: super.buildGoModule (args // super.lib.optionalAttrs (args.pname != "k3s-cni-plugins" && args.pname != "k3s-containerd") { + vendorHash = { + "sha256-XtTahFaWnuHzKDI/U4d/j4C4gRxH163MCGEEM4hu/WM=" = "sha256-XuMP+ffwTdXKL9q9+ZJUQc5ghGEcdY9UdefjCD19OUE="; + "sha256-Mj9Q3TgqZoJluG4/nyuw2WHnB3OJ+/mlV7duzWt1B1A=" = "sha256-9i0vY+CqrLDKYBZPooccX7OtFhS3//mpKTLntvPYDJo="; + }.${args.vendorHash}; + patches = (args.patches or []) ++ [ + ./patches/k3s-nix-snapshotter.patch + ]; + }); }; + }; perSystem = { system, ... }: { _module.args.pkgs = import inputs.nixpkgs { diff --git a/package.nix b/package.nix index 9ff1f5c..ab0a7f6 100644 --- a/package.nix +++ b/package.nix @@ -1,6 +1,7 @@ { lib , buildGoModule , closureInfo +, globset , runCommand , writeShellScriptBin , writeText @@ -9,13 +10,14 @@ let nix-snapshotter = buildGoModule { pname = "nix-snapshotter"; - version = "0.2.0"; - src = lib.cleanSourceWith { - src = lib.sourceFilesBySuffices ./. [ - ".go" + version = "0.2.1"; + src = lib.fileset.toSource { + root = ./.; + fileset = globset.lib.globs ./. [ + "**/*.go" + "**/*.tar" "go.mod" "go.sum" - ".tar" ]; }; vendorHash = "sha256-QBLePOnfsr6I19ddyZNSFDih6mCaZ/NV2Qz1B1pSHxs=";