This commit is contained in:
unexplrd
2025-02-06 00:33:06 +02:00
commit 2e6e28ef32
254 changed files with 28562 additions and 0 deletions

View File

@ -0,0 +1,29 @@
{
# pkgs,
config,
lib,
...
}:
with lib; let
cfg = config.virtual.docker;
in {
options = {
virtual.docker.enable =
mkEnableOption "enable docker";
};
config = mkIf cfg.enable {
virtualisation.docker = {
enable = true;
rootless = {
enable = true;
setSocketVariable = true;
};
storageDriver = "btrfs";
autoPrune.enable = true;
#defaultNetwork.settings = {
# dns_enabled = true;
#};
};
virtualisation.oci-containers.backend = "docker";
};
}

View File

@ -0,0 +1,35 @@
{
pkgs,
config,
lib,
...
}:
with lib; let
cfg = config.virtual.libvirt;
in {
options = {
virtual.libvirt.enable =
mkEnableOption "enables virtualisation";
};
config = mkIf cfg.enable {
virtualisation.libvirtd = {
enable = true;
qemu = {
package = pkgs.qemu_kvm;
runAsRoot = false;
swtpm.enable = true;
vhostUserPackages = [pkgs.virtiofsd];
ovmf = {
enable = true;
packages = [
(pkgs.OVMF.override {
secureBoot = true;
tpmSupport = true;
})
.fd
];
};
};
};
};
}

View File

@ -0,0 +1,7 @@
{
imports = [
./libvirt.nix
./podman.nix
./docker.nix
];
}

View File

@ -0,0 +1,28 @@
{
pkgs,
config,
lib,
...
}:
with lib; let
cfg = config.virtual.podman;
in {
options = {
virtual.podman.enable =
mkEnableOption "enables podman";
};
config = mkIf cfg.enable {
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
};
environment.systemPackages = with pkgs; [
podman-tui
podman-compose
];
};
}