system/podman: have module available

This commit is contained in:
Felix Buehler 2022-12-05 22:53:04 +01:00
parent 19520eae7f
commit 7e9276152a
7 changed files with 56 additions and 6 deletions

View file

@ -2,14 +2,13 @@
{ {
imports = [ imports = [
./boot.nix ./boot.nix
./hardware-configuration.nix
./disks.nix ./disks.nix
./hardware-configuration.nix
./network.nix ./network.nix
./syncthing.nix
./services.nix ./services.nix
../../legacy/modules/docker.nix ./syncthing.nix
./system.nix
../../legacy/modules/networkdecrypt.nix ../../legacy/modules/networkdecrypt.nix
../../legacy/modules/nix.nix
]; ];
networking.hostName = "newton"; networking.hostName = "newton";

View file

@ -0,0 +1,10 @@
# enabled system services
{ config, lib, ... }:
let
secrets = config.sops.secrets;
in
{
my.system = {
podman.enable = true;
};
}

View file

@ -4,6 +4,7 @@
./disks.nix ./disks.nix
./hardware-configuration.nix ./hardware-configuration.nix
./services.nix ./services.nix
./system.nix
../../legacy/modules/3d-design.nix ../../legacy/modules/3d-design.nix
../../legacy/modules/android.nix ../../legacy/modules/android.nix
../../legacy/modules/avahi.nix ../../legacy/modules/avahi.nix
@ -12,7 +13,6 @@
../../legacy/modules/desktop-default.nix ../../legacy/modules/desktop-default.nix
../../legacy/modules/desktop-development.nix ../../legacy/modules/desktop-development.nix
../../legacy/modules/development.nix ../../legacy/modules/development.nix
../../legacy/modules/docker.nix
../../legacy/modules/filesystem.nix ../../legacy/modules/filesystem.nix
../../legacy/modules/gaming.nix ../../legacy/modules/gaming.nix
../../legacy/modules/hardware-base.nix ../../legacy/modules/hardware-base.nix
@ -22,7 +22,6 @@
../../legacy/modules/location.nix ../../legacy/modules/location.nix
../../legacy/modules/media.nix ../../legacy/modules/media.nix
../../legacy/modules/meeting.nix ../../legacy/modules/meeting.nix
../../legacy/modules/nix.nix
../../legacy/modules/power.nix ../../legacy/modules/power.nix
../../legacy/modules/presentation.nix ../../legacy/modules/presentation.nix
../../legacy/modules/printer.nix ../../legacy/modules/printer.nix

View file

@ -0,0 +1,10 @@
# enabled system services
{ config, lib, ... }:
let
secrets = config.sops.secrets;
in
{
my.system = {
podman.enable = true;
};
}

View file

@ -3,5 +3,6 @@
imports = [ imports = [
./hardware ./hardware
./services ./services
./system
]; ];
} }

View file

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./docker ./docker
./podman
]; ];
} }

View file

@ -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;
};
};
}