From 4dc3200d688d82ddc20ce21af47ad79a1a5fe869 Mon Sep 17 00:00:00 2001 From: muon Date: Mon, 26 Aug 2024 13:42:39 +0000 Subject: [PATCH] Add docker --- modules/nixos/server/docker/default.nix | 27 +++++++++++++++++++++++++ modules/nixos/server/docker/media.nix | 1 - 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/modules/nixos/server/docker/default.nix b/modules/nixos/server/docker/default.nix index f20883a..c76112b 100644 --- a/modules/nixos/server/docker/default.nix +++ b/modules/nixos/server/docker/default.nix @@ -2,4 +2,31 @@ imports = [ ./media.nix ]; + + options.mods.docker.media = { + enable = lib.mkEnableOption { + default = false; + description = "enables docker containers for media server"; + }; + }; + + config = lib.mkIf config.mods.docker.media.enable { + environment.systemPackages = [ + pkgs.arion + + # Do install the docker CLI to talk to podman. + # Not needed when virtualisation.docker.enable = true; + pkgs.docker-client + ]; + + # Arion works with Docker, but for NixOS-based containers, you need Podman + # since NixOS 21.05. + virtualisation.docker.enable = false; + virtualisation.podman.enable = true; + virtualisation.podman.dockerSocket.enable = true; + virtualisation.podman.defaultNetwork.dnsname.enable = true; + + # Use your username instead of `myuser` + users.extraUsers.${mods.user.name}.extraGroups = ["podman"]; + }; } diff --git a/modules/nixos/server/docker/media.nix b/modules/nixos/server/docker/media.nix index af7e8f3..6787be5 100644 --- a/modules/nixos/server/docker/media.nix +++ b/modules/nixos/server/docker/media.nix @@ -1,4 +1,3 @@ - { pkgs, lib, config, ... }: { options.mods.docker.media = { enable = lib.mkEnableOption {