{ config, lib, pkgs, ... }: { options.sysconfig.opts.virtualization.novnc.enable = lib.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf config.sysconfig.opts.virtualization.novnc.enable { containers.novnc = { autoStart = true; privateNetwork = true; hostAddress = "192.168.100.10"; localAddress = "192.168.100.30"; config = { systemd.services.novnc = { enable = true; path = with pkgs; [ novnc ps ]; script = '' novnc --listen 80 --vnc 192.168.100.10:5900 ''; serviceConfig = { Type = "exec"; }; wantedBy = [ "multi-user.target" ]; }; networking.firewall.allowedTCPPorts = [ 80 ]; system.stateVersion = "25.05"; }; }; }; }