Skip to content

Repository files navigation

Container Tools

Container tooling installs using the Nix package manager.

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. It provides atomic upgrades and rollbacks, side-by-side installation of multiple versions of a package, multi-user package management and easy setup of build environments.

Nix is a good choice for installing container tools because:

  1. It has a large selection of packages available.
  2. While not a trivial to setup, it makes it much easier to add new packages to install when they are not available through standard apt sources.
  3. It provides a convenient and visible way of managing tooling updates.

The recommended way to create images with Nix is to use a docker load approach. However, this requires Nix be installed outside a container. This is not always possible or desirable. The approach here copies the Nix store into the container instead. The main disadvantage of this approach is less effective caching of layers. It's likely possible to mitigate this, but we're starting simple.

Prequisites

Docker and jq to build/test the container images. Install manually or install Devbox and type devbox shell to install the dependencies.

Usage

See build.sh for example of how to build and run the container images.

There are currently three different types of images:

The packages to install are defined in flake.nix.

About

Nix-based container tooling installs

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages