7 cfg = config.services.guacamole-client;
8 settingsFormat = pkgs.formats.javaProperties { };
12 services.guacamole-client = {
13 enable = lib.mkEnableOption "Apache Guacamole Client (Tomcat)";
14 package = lib.mkPackageOption pkgs "guacamole-client" { };
16 settings = lib.mkOption {
17 type = lib.types.submodule {
18 freeformType = settingsFormat.type;
21 guacd-hostname = "localhost";
25 Configuration written to `guacamole.properties`.
28 The Guacamole web application uses one main configuration file called
29 `guacamole.properties`. This file is the common location for all
30 configuration properties read by Guacamole or any extension of
31 Guacamole, including authentication providers.
36 enableWebserver = lib.mkOption {
37 type = lib.types.bool;
40 Enable the Guacamole web application in a Tomcat webserver.
46 config = lib.mkIf cfg.enable {
47 environment.etc."guacamole/guacamole.properties" = lib.mkIf
49 { source = (settingsFormat.generate "guacamole.properties" cfg.settings); };
51 services = lib.mkIf cfg.enableWebserver {