diff --git a/hosts/pinwheel/modules/containers/default.nix b/hosts/pinwheel/modules/containers/default.nix new file mode 100644 index 0000000..126ebf0 --- /dev/null +++ b/hosts/pinwheel/modules/containers/default.nix @@ -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 ]; + }; + }; +} diff --git a/hosts/pinwheel/modules/default.nix b/hosts/pinwheel/modules/default.nix index 910d382..2ff77fc 100644 --- a/hosts/pinwheel/modules/default.nix +++ b/hosts/pinwheel/modules/default.nix @@ -25,8 +25,10 @@ in go.enable = true; rust.enable = true; keyboard.enable = true; - docker.enable = true; - podman.enable = false; + containers = { + docker.enable = true; + podman.enable = false; + }; vm.enable = true; scripts.enable = true; pppdotpm-site.enable = false; diff --git a/hosts/pinwheel/modules/docker/default.nix b/hosts/pinwheel/modules/docker/default.nix deleted file mode 100644 index 15d6574..0000000 --- a/hosts/pinwheel/modules/docker/default.nix +++ /dev/null @@ -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 ]; - }; - }; -} diff --git a/hosts/pinwheel/modules/podman/default.nix b/hosts/pinwheel/modules/podman/default.nix deleted file mode 100644 index 6513bc9..0000000 --- a/hosts/pinwheel/modules/podman/default.nix +++ /dev/null @@ -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 ]; - }; - }; -}