{ config, lib, pkgs, ... }: let cfg = config.ente; in { options.ente = { minioPort = lib.mkOption { type = lib.types.int; }; minioDataDir = lib.mkOption { type = lib.types.str; }; }; config = { containers.ente-minio = { config = { services.minio = { enable = true; accessKey = "ente"; secretKey = "...."; # TODO: pass in via config? dataDir = [cfg.minioDataDir]; listenAddress = ":${toString cfg.minioPort}"; }; }; }; virtualisation.oci-containers.containers.ente = { image = "ghcr.io/ente-io/server"; # TODO: specify the rest }; # TODO: specify that ente oci container requires ente-minio # TODO: specify that ente oci container requires postgresql }; }