41 lines
855 B
Nix
41 lines
855 B
Nix
{ pkgs, lib, config, ... }:
|
|
let
|
|
dockerEnabled = config.mod.containers.docker.enable;
|
|
podmanEnabled = config.mod.containers.podman.enable;
|
|
in
|
|
{
|
|
options = {
|
|
mod.containers = {
|
|
docker = {
|
|
enable = lib.mkEnableOption "enable docker";
|
|
};
|
|
|
|
podman = {
|
|
enable = lib.mkEnableOption "enable podman";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
virtualisation = {
|
|
docker = lib.mkIf dockerEnabled {
|
|
enable = true;
|
|
};
|
|
|
|
podman = lib.mkIf podmanEnabled {
|
|
enable = true;
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
};
|
|
};
|
|
|
|
users.users.alex.extraGroups = lib.mkIf dockerEnabled [ "docker" ];
|
|
|
|
home-manager.users.alex = {
|
|
home.packages = [
|
|
(lib.mkIf dockerEnabled pkgs.docker-compose)
|
|
(lib.mkIf podmanEnabled pkgs.podman-compose)
|
|
];
|
|
};
|
|
};
|
|
}
|