{ container, pkgs, util, lib, config, __findFile, ... }@args: with lib; let cfg = config.container.module.home; package = (pkgs.callPackage args); in { options = { container.module.home = { enable = mkEnableOption "Dashboard."; address = mkOption { default = "10.1.0.18"; type = types.str; }; port = mkOption { default = 80; type = types.int; }; domain = mkOption { default = "home.${config.container.domain}"; type = types.str; }; }; }; config = mkIf cfg.enable { containers.home = container.mkContainer cfg { config = { ... }: container.mkContainerConfig cfg { environment.systemPackages = [ package ]; systemd.packages = [ package ]; services.nginx = { enable = true; virtualHosts.${cfg.domain} = container.mkServer { default = true; root = "${package}"; locations = { "/".extraConfig = '' try_files $uri $uri/index.html; ''; }; }; }; }; }; }; }