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;
|
go.enable = true;
|
||||||
rust.enable = true;
|
rust.enable = true;
|
||||||
keyboard.enable = true;
|
keyboard.enable = true;
|
||||||
docker.enable = true;
|
containers = {
|
||||||
podman.enable = false;
|
docker.enable = true;
|
||||||
|
podman.enable = false;
|
||||||
|
};
|
||||||
vm.enable = true;
|
vm.enable = true;
|
||||||
scripts.enable = true;
|
scripts.enable = true;
|
||||||
pppdotpm-site.enable = false;
|
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