pinwheel: Remove docker and podman in favor of containers
This commit is contained in:
36
hosts/pinwheel/modules/containers/default.nix
Normal file
36
hosts/pinwheel/modules/containers/default.nix
Normal file
@@ -0,0 +1,36 @@
|
||||
{ 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;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.alex.extraGroups = lib.mkIf dockerEnabled [ "docker" ];
|
||||
|
||||
home-manager.users.alex = lib.mkIf dockerEnabled {
|
||||
home.packages = [ pkgs.docker-compose ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -25,8 +25,10 @@ in
|
||||
go.enable = true;
|
||||
rust.enable = true;
|
||||
keyboard.enable = true;
|
||||
containers = {
|
||||
docker.enable = true;
|
||||
podman.enable = false;
|
||||
};
|
||||
vm.enable = true;
|
||||
scripts.enable = true;
|
||||
pppdotpm-site.enable = false;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
enabled = config.mod.docker.enable;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
mod.docker = {
|
||||
enable = lib.mkEnableOption "enable docker module";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf enabled {
|
||||
virtualisation = {
|
||||
docker = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.alex.extraGroups = [ "docker" ];
|
||||
|
||||
home-manager.users.alex = {
|
||||
home.packages = [ pkgs.docker-compose ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
enabled = config.mod.podman.enable;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
mod.podman = {
|
||||
enable = lib.mkEnableOption "enable podman module";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf enabled {
|
||||
virtualisation = {
|
||||
podman = {
|
||||
enable = true;
|
||||
|
||||
# Create a `docker` alias for podman, to use it as a drop-in replacement
|
||||
dockerCompat = true;
|
||||
|
||||
# Required for containers under podman-compose to be able to talk to each other.
|
||||
defaultNetwork.settings = {
|
||||
dns_enabled = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.alex = {
|
||||
home.packages = [ pkgs.podman-compose ];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user