# Virtualization modules This directory houses all virtualization and container related enablement. Cloud native anyone?? ## Hardware virtualization This is for running virtual machines on the bare metal. All that's needed to get this working to import the `./hardware.nix` into your machine's configuration. ## Docker (OCI containers) This is for running the Docker runtime (rootful or rootless, rootful by default) to run OCI containers. All that's needed to get this working to import the `./docker.nix` into your machine's configuration. Note: I don't use Docker too much as I use Podman for development. I'd check the Podman documentation. ## Podman/Buildah (OCI containers) This is for running the Podman runtime (rootless) to run OCI containers. You will need to import `./podman.nix` into your machine configuration. Additionally, there's some added configuration to suit your needs. Example: ```nix podman = { podman = { enable = true; extraPackages = with pkgs; [ docker-credential-helpers toolbox cosign crane podman-tui podman-desktop ]; }; }; ``` To get a full, comprehensive list of what you can do with the podman module, please check out [podman.nix](./podman.nix)! ### Podman Quadlets This is a wrapper around a project called [`quadlet-nix`](https://github.com/SEIAROTg/quadlet-nix), a way of defining systemd services as containers with Nix! Since I have existing services running inside of containers and don't want to risk breaking _everything_ that I have running, I figured this would be a safe, transitionary approach to handle this. This is still a work-in-progress, check back soon on progress on this. ## Kubernetes Coming soon! ## LXC/LXD I don't have anything in the way of a nix configuration for LXC/LXD as I don't have a use-case for them. Come back later!