khuedoan-homelab/docs/concepts/tools-container.md

37 lines
910 B
Markdown
Raw Permalink Normal View History

2022-08-26 19:50:45 +07:00
# 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:
2022-08-26 19:50:45 +07:00
=== "Docker"
```sh
make tools
```
=== "Nix"
```sh
nix-shell
```
It will open a shell like this:
```
[nix-shell:/home/khuedoan/Documents/homelab]# echo hello
hello
```
## How it works
- All dependencies are defined in `./shell.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-shell` will start an interactive shell based on the Nix expression in `./shell.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`