nixos-config/modules/nixos/web-services/networking-toolbox.nix

34 lines
808 B
Nix

{ config, lib, ... }:
let
cfg = config.custom.web-services.networking-toolbox;
in
{
options.custom.web-services.networking-toolbox = {
enable = lib.mkEnableOption "";
domain = lib.mkOption {
type = lib.types.nonEmptyStr;
default = "";
};
port = lib.mkOption {
type = lib.types.port;
default = 4479;
};
};
config = lib.mkIf cfg.enable {
virtualisation.oci-containers.containers.networking-toolbox = {
image = "lissy93/networking-toolbox";
ports = [ "127.0.0.1:${toString cfg.port}:3000" ];
pull = "newer";
};
custom = {
services.caddy.virtualHosts.${cfg.domain}.port = cfg.port;
meta.services.${cfg.domain} = {
title = "Networking Toolbox";
icon = "sh:networking-toolbox";
};
};
};
}