{ lib , stdenv , fetchFromGitHub , autoreconfHook , desktop-file-utils , pkg-config , libwebsockets , ncurses , openssl , unixtools , zlib , rustPlatform , perl , qtbase , qtwebchannel , qtwebengine , wrapQtAppsHook , withQtDocking ? false , withKddockwidgets ? false , kddockwidgets , withAsciidoctor ? true , asciidoctor , withDocbook ? true , docbook-xsl-ns , libxslt }: stdenv.mkDerivation rec { pname = "domterm"; version = "unstable-2023-07-22"; src = fetchFromGitHub { owner = "PerBothner"; repo = "DomTerm"; rev = "33ca5ad96cd8fc274b8e97533123dd8c33fb1938"; hash = "sha256-H1Nzqzz7dv4j9hkb08FCExLeq69EkFNXGzhhl/e+uxI="; }; configureFlags = [ "--with-libwebsockets" "--enable-compiled-in-resources" "--with-qt" ] ++ lib.optional withAsciidoctor "--with-asciidoctor" ++ lib.optional withQtDocking "--with-qt-docking" ++ lib.optional withKddockwidgets "--with-kddockwidgets" ++ lib.optional withDocbook "--with-docbook"; nativeBuildInputs = [ autoreconfHook pkg-config wrapQtAppsHook qtbase qtwebchannel qtwebengine ]; buildInputs = [ asciidoctor desktop-file-utils ncurses libwebsockets openssl perl unixtools.xxd zlib ] ++ lib.optional withKddockwidgets kddockwidgets ++ lib.optional withAsciidoctor asciidoctor ++ lib.optionals withDocbook [ docbook-xsl-ns libxslt ]; meta = with lib; { homepage = "https://domterm.org/"; description = "Terminal emulator based on web technologies."; license = licenses.bsd3; maintainers = with maintainers; [ foo-dogsquared ]; }; }