github.com/pdtpartners/nix-snapshotter
v0.4.0
#2024 most downloaded on Go modules
pdtpartners/nix-snapshotter
What this package is like to depend on
Last release 6 months ago
24 Feb 2026
Release timing varies
gaps range from 9 days to 10 months
Nearly every release is documented
notes for 8 of 8 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
37 releases · first in 2023
1 release in the last 12 months
see the full history below
Release timeline
37 releases · Sep 2023 to Feb 2026Releases
latest 37-
v0.4.024 Feb 2026Release notes
Open source →Welcome to the v0.4.0 release of nix-snapshotter!
Highlights
- Satisfy gRPC forward-compatibility requirement introduced in newer versions of k8s.io/cri-api to unblock updating nix-snapshotter to work with latest k3s.
Migration guide v0.3.0 -> v0.4.0
- The NixOS k3s module now (as of 2024) accepts a list of strings for
extraFlags, so we've deprecated the unnecessarymoreFlagsoption.
# v0.3.0 services.k3s.moreFlags = [ "--container-runtime-endpoint unix:///run/containerd/containerd.sock" ]; # v0.4.0 services.k3s.extraFlags = [ "--container-runtime-endpoint unix:///run/containerd/containerd.sock" ];Contributors
- Edgar Lee
- Joseph Goulden
- Joshua Perry
Dependency Changes
- None
-
v0.3.026 Aug 2025Release notes
Open source →Welcome to the v0.3.0 release of nix-snapshotter!
Highlights
- New images built with pkgs.nix-snapshotter.buildImage now only has a single annotation per layer instead of an annotation per store path. The single annotation now is a nix store path to a closure-info file that references all the store paths, allowing a single substitution and gc root to be realised by nix-snapshotter and should significantly speed up preparing layers with a large number of store paths
- Nix-snapshotter remains compatible with images created with prior releases but images created before v0.3.0 may become incompatible when we cut v1.0.0.
- Nix-snapshotter bumped to containerd v2 golang API, allowing it to be embedded in k3s HEAD as it has also moved on to containerd v2. This was blocking work as embedding requires k3s to vendor nix-snapshotter and the containerd versions need to match.
Contributors
- Edgar Lee
Dependency Changes
- None
- New images built with pkgs.nix-snapshotter.buildImage now only has a single annotation per layer instead of an annotation per store path. The single annotation now is a nix store path to a closure-info file that references all the store paths, allowing a single substitution and gc root to be realised by nix-snapshotter and should significantly speed up preparing layers with a large number of store paths
-
v0.2.3-0.20250826011705-57c47d85d63126 Aug 2025 pre-releaseNothing published for this version
-
v0.2.3-0.20250822210006-e371cb99bf4522 Aug 2025 pre-releaseNothing published for this version
-
v0.2.3-0.20250822204321-0d88a335c58e22 Aug 2025 pre-releaseNothing published for this version
-
v0.2.3-0.20250822144721-ffbc9f791b5622 Aug 2025 pre-releaseNothing published for this version
-
v0.2.3-0.20250822015441-4ad7763d560022 Aug 2025 pre-releaseNothing published for this version
-
v0.2.221 Aug 2025Release notes
Open source →Welcome to the v0.2.2 release of nix-snapshotter!
Highlights
- Small release for bumping to NixOS 25.05 compatibility, which includes updating our patch for k3s to include nix-snapshotter support
Contributors
- Edgar Lee
- Srini Muthu
- Robbie Buxton
Dependency Changes
- NixOS 24.05 -> 25.05
-
v0.2.2-0.20241027094457-c738f1a16a8627 Oct 2024 pre-releaseNothing published for this version
-
v0.2.122 Oct 2024Release notes
Open source →Welcome to the v0.2.1 release of nix-snapshotter!
Highlights
- Support for gVisor
- Various bug fixes
New options (NixOS & Home Manager)
-
New options for
containerd&containerd.rootlessconfig.virtualisation.containerd = { enable = true; # Register gvisor's runsc as a container runtime. gVisorIntegration = true; # Use runsc as the default container runtime. defaultRuntime = "runsc"; }
Contributors
- bglgwyng
- Christian Kögler
- Edgar Lee
- Ian Becker
- Robbie Buxton
- Yureka
Dependency Changes
- NixOS 23.11 -> 24.05
-
v0.2.1-0.20241022200416-f2957822a37422 Oct 2024 pre-releaseNothing published for this version
-
v0.2.1-0.20240817062249-6eaadfd8f89e17 Aug 2024 pre-releaseNothing published for this version
-
v0.2.1-0.20240511143514-7b251c9356bc11 May 2024 pre-releaseNothing published for this version
-
v0.2.1-0.20240324105124-d65b45d246f524 Mar 2024 pre-releaseNothing published for this version
-
v0.2.1-0.20240224000651-2df46828852324 Feb 2024 pre-releaseNothing published for this version
-
v0.2.1-0.20240220092728-6d98232eaef420 Feb 2024 pre-releaseNothing published for this version
-
v0.2.1-0.20240218140855-177e8b27202a18 Feb 2024 pre-releaseNothing published for this version
-
v0.2.018 Feb 2024Release notes
Open source →Welcome to the v0.2.0 release of nix-snapshotter!
Highlights
- Provides NixOS & Home Manager modules for rootless Kubernetes (k3s) + nix-snapshotter
- Separate
nix run .#vmandnix run .#vm-rootless - Separate preload-container service into independent modules
- Pin k3s to
v1.27.9+k3s1with patches to enable embedded nix-snapshotter- k3s PR to support nix-snapshotter: k3s-io/k3s#9319
New options (NixOS & Home Manager)
-
Services
preload-containerd&preload-containerd.rootless:config.services.preload-containerd = { enable = true; targets = [{ archives = [ pkgs.nix-snapshotter.buildImage { /* ... */ } ]; namespace = "k8s.io"; address = "/run/k3s/containerd/containerd.sock"; }]; };
-
New options for
k3s& new servicek3s.rootless:config.services.k3s = { enable = true; # Sets the snapshotter for embedded containerd. snapshotter = "nix"; # Sets KUBECONFIG env var to point to k3s. setKubeConfig = true; # Sets CONTAINERD_* env vars to point to k3s embedded containerd. setEmbeddedContainerd = true; }
-
New options for
containerd&containerd.rootless:config.virtualisation.containerd = { enable = true; # Enable integration with nix-snapshotter. nixSnapshotterIntegration = true; # Set the CONTAINERD_* env vars, but also set automatically by # `nixSnapshotterIntegration` or by `services.k3s.setEmbeddedContainerd`. setAddress = "/run/containerd/containerd.sock"; setNamespace = "default"; setSnapshotter = "nix"; }
-
New option only for NixOS module
containerd:config.virtualisation.containerd = { enable = true; # Enable integration with k3s. This is mutually exclusive with setting # `services.k3s.snapshotter` and `services.k3s.setEmbeddedContainerd`. k3sIntegration = true; };
Migration guide v0.1.x -> v0.2.0
-
Removed
options.services.nix-snapshotter.setContainerdSnapshotter# v0.1.x services.nix-snapshotter = { enable = true; setContainerdSnapshotter = true; }; # v0.2.0 (same for rootless) virtualisation.containerd = { enable = true; nixSnapshotterIntegration = true; }; services.nix-snapshotter = { enable = true; };
-
Removed
options.services.nix-snapshotter.preloadContainerdImages# v0.1.x services.nix-snapshotter = { enable = true; preloadContainerdImages = [ pkgs.nix-snapshotter.buildImage { /* ... */ } ]; }; # v0.2.0 (same for rootless) virtualisation.containerd = { enable = true; nixSnapshotterIntegration = true; } services.nix-snapshotter = { enable = true; }; services.preload-containerd = { targets = [{ archives = [ pkgs.nix-snapshotter.buildImage { /* ... */ } ]; }]; };
Contributors
- Edgar Lee
Dependency Changes
- None
-
v0.1.214 Feb 2024Release notes
Open source →Welcome to the v0.1.2 release of nix-snapshotter!
New features
- Provide
pkg/pluginpackage to compile containerd with builtin support for nix-snapshotter (#112 ) - Add new configuration option
external_builderto provide an external executable as aNixBuilder(#113)
Please try it out and report any issues at:
https://github.com/pdtpartners/nix-snapshotter/issuesContributors
- Edgar Lee
Dependency Changes
- None
- Provide
-
v0.1.2-0.20240214232837-8d2197e5ef7114 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240214230725-1c25427973e014 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240214230213-e5d9547ebdde14 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240214070632-154924c8d48c14 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240214061409-fab79989ccad14 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240214003249-42b73b8e4df614 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240205013815-1d82ce86ce8f05 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240204210751-fd58fcfd340104 Feb 2024 pre-releaseNothing published for this version
-
v0.1.2-0.20240204012439-70ec1d9682aa04 Feb 2024 pre-releaseNothing published for this version
-
v0.1.124 Jan 2024Release notes
Open source →Welcome to the v0.1.1 release of nix-snapshotter!
Bug fixes
- Correctly invokes
nix buildto substitute missing store paths (#107) - Enable k3s to use nix-snapshotter as an
image-service-endpointto resolvenix:0/<nix-store-path>image references (#110)
Please try it out and report any issues at:
https://github.com/pdtpartners/nix-snapshotter/issuesContributors
- Edgar Lee
- Antoine Roy-Gobeil
- Robbie Buxton
- Graham Bennett
- Cameron Smith
Dependency Changes
- github:edolstra/flake-compat bumped
- github:hercules-ci/flake-parts bumped
- github:NixOS/nixpkgs/nixos-unstable changed to github:NixOS/nixpkgs/nixos-23.11
- Correctly invokes
-
v0.1.1-0.20240124211459-e8818ecee30724 Jan 2024 pre-releaseNothing published for this version
-
v0.1.1-0.20240112121222-ff0e45a38d2712 Jan 2024 pre-releaseNothing published for this version
-
v0.1.1-0.20230907082628-d753a899da9c07 Sep 2023 pre-releaseNothing published for this version
-
v0.1.1-0.20230906230239-d6527346a8a806 Sep 2023 pre-releaseNothing published for this version
-
v0.1.1-0.20230906170310-3f44895af45206 Sep 2023 pre-releaseNothing published for this version
-
v0.1.006 Sep 2023Release notes
Open source →Welcome to the v0.1.0 release of nix-snapshotter!
This is the first public release of nix-snapshotter. Please try it out and report any issues at:
https://github.com/pdtpartners/nix-snapshotter/issuesContributors
- Edgar Lee
- Robbie Buxton
- Graham Bennett
-
v0.0.0-20230906161830-e9c8dec3c2d806 Sep 2023 pre-releaseNothing published for this version
-
v0.0.0-20230906161830-5a917b9fc97406 Sep 2023 pre-releaseNothing published for this version