Skip to content

Tools container

The tools container makes it easy to get all of the dependencies needed to interact with the homelab.

How to open it

You can use the default Docker wrapper, or use Nix if you have Nix installed:

make tools
nix develop

Tip

If you have direnv installed, you can run direnv allow once and it will automatically enter the Nix shell.

It will open a shell like this:

[khuedoan@ryzentower:~/Documents/homelab]$ echo hello
hello

How it works

  • All dependencies are defined in ./flake.nix
  • When you run make tools, it will run a thin Docker wrapper with the nixos/nix image (because not everyone has Nix installed) and mount some required volumes
  • nix develop will start an interactive shell based on the Nix expression in ./flake.nix and install everything from there

Known issues

  • If your Docker engine is not running in rootless mode, all files created by the tools container will be owned by root