{ config, lib, pkgs, ... }: { options.sysconfig.services.novnc.enable = lib.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf config.sysconfig.services.novnc.enable { systemd.services.novnc = { enable = true; path = with pkgs; [ novnc ps ]; script = '' novnc --listen 80 --vnc 127.0.0.1:5900 ''; serviceConfig = { Type = "exec"; }; wantedBy = [ "multi-user.target" ]; }; networking.firewall.allowedTCPPorts = [ 80 ]; }; }