diff --git a/machines/newton/configuration.nix b/machines/newton/configuration.nix index b0f906a..f3c9e04 100644 --- a/machines/newton/configuration.nix +++ b/machines/newton/configuration.nix @@ -2,14 +2,13 @@ { imports = [ ./boot.nix - ./hardware-configuration.nix ./disks.nix + ./hardware-configuration.nix ./network.nix - ./syncthing.nix ./services.nix - ../../legacy/modules/docker.nix + ./syncthing.nix + ./system.nix ../../legacy/modules/networkdecrypt.nix - ../../legacy/modules/nix.nix ]; networking.hostName = "newton"; diff --git a/machines/newton/system.nix b/machines/newton/system.nix new file mode 100644 index 0000000..4f93b2e --- /dev/null +++ b/machines/newton/system.nix @@ -0,0 +1,10 @@ +# enabled system services +{ config, lib, ... }: +let + secrets = config.sops.secrets; +in +{ + my.system = { + podman.enable = true; + }; +} diff --git a/machines/thinkman/configuration.nix b/machines/thinkman/configuration.nix index 3f2122b..aec12eb 100644 --- a/machines/thinkman/configuration.nix +++ b/machines/thinkman/configuration.nix @@ -4,6 +4,7 @@ ./disks.nix ./hardware-configuration.nix ./services.nix + ./system.nix ../../legacy/modules/3d-design.nix ../../legacy/modules/android.nix ../../legacy/modules/avahi.nix @@ -12,7 +13,6 @@ ../../legacy/modules/desktop-default.nix ../../legacy/modules/desktop-development.nix ../../legacy/modules/development.nix - ../../legacy/modules/docker.nix ../../legacy/modules/filesystem.nix ../../legacy/modules/gaming.nix ../../legacy/modules/hardware-base.nix @@ -22,7 +22,6 @@ ../../legacy/modules/location.nix ../../legacy/modules/media.nix ../../legacy/modules/meeting.nix - ../../legacy/modules/nix.nix ../../legacy/modules/power.nix ../../legacy/modules/presentation.nix ../../legacy/modules/printer.nix diff --git a/machines/thinkman/system.nix b/machines/thinkman/system.nix new file mode 100644 index 0000000..4f93b2e --- /dev/null +++ b/machines/thinkman/system.nix @@ -0,0 +1,10 @@ +# enabled system services +{ config, lib, ... }: +let + secrets = config.sops.secrets; +in +{ + my.system = { + podman.enable = true; + }; +} diff --git a/modules/default.nix b/modules/default.nix index 5f08ab3..70e6cde 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,5 +3,6 @@ imports = [ ./hardware ./services + ./system ]; } diff --git a/modules/system/default.nix b/modules/system/default.nix index 4c290a4..ab61515 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -2,6 +2,7 @@ { imports = [ ./docker + ./podman ]; } diff --git a/modules/system/podman/default.nix b/modules/system/podman/default.nix new file mode 100644 index 0000000..adc605e --- /dev/null +++ b/modules/system/podman/default.nix @@ -0,0 +1,30 @@ +# Podman related settings +{ config, inputs, lib, options, pkgs, ... }: +let + cfg = config.my.system.podman; +in +{ + options.my.system.podman = with lib; { + enable = mkEnableOption "podman configuration"; + }; + + config = lib.mkIf cfg.enable { + + environment.systemPackages = with pkgs; [ + podman-compose + ]; + + virtualisation.podman = { + enable = true; + + # Use fake `docker` command to redirect to `podman` + dockerCompat = true; + + # Expose a docker-like socket + dockerSocket.enable = true; + + # Allow DNS resolution in the default network + defaultNetwork.dnsname.enable = true; + }; + }; +}