lol

Merge pull request #205765 from NixOS/fix-dolibarr-for-non-nginx

nixos/services/dolibarr: decouple nginx and let other web servers be used

authored by

Ryan Lahfa and committed by
GitHub
b3af9ee9 a10069fd

+11 -8
+11 -8
nixos/modules/services/web-apps/dolibarr.nix
··· 1 1 { config, pkgs, lib, ... }: 2 2 let 3 - inherit (lib) any boolToString concatStringsSep isBool isString literalExpression mapAttrsToList mkDefault mkEnableOption mkIf mkOption optionalAttrs types; 3 + inherit (lib) any boolToString concatStringsSep isBool isString mapAttrsToList mkDefault mkEnableOption mkIf mkMerge mkOption optionalAttrs types; 4 4 5 5 package = pkgs.dolibarr.override { inherit (cfg) stateDir; }; 6 6 7 7 cfg = config.services.dolibarr; 8 - vhostCfg = config.services.nginx.virtualHosts."${cfg.domain}"; 8 + vhostCfg = lib.optionalAttr (cfg.nginx != null) config.services.nginx.virtualHosts."${cfg.domain}"; 9 9 10 10 mkConfigFile = filename: settings: 11 11 let ··· 38 38 force_install_database = cfg.database.name; 39 39 force_install_databaselogin = cfg.database.user; 40 40 41 - force_install_mainforcehttps = vhostCfg.forceSSL; 41 + force_install_mainforcehttps = vhostCfg.forceSSL or false; 42 42 force_install_createuser = false; 43 43 force_install_dolibarrlogin = null; 44 44 } // optionalAttrs (cfg.database.passwordFile != null) { ··· 183 183 }; 184 184 185 185 # implementation 186 - config = mkIf cfg.enable { 186 + config = mkIf cfg.enable (mkMerge [ 187 + { 187 188 188 189 assertions = [ 189 190 { assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; ··· 214 215 215 216 # Security settings 216 217 dolibarr_main_prod = true; 217 - dolibarr_main_force_https = vhostCfg.forceSSL; 218 + dolibarr_main_force_https = vhostCfg.forceSSL or false; 218 219 dolibarr_main_restrict_os_commands = "${pkgs.mariadb}/bin/mysqldump, ${pkgs.mariadb}/bin/mysql"; 219 220 dolibarr_nocsrfcheck = false; 220 221 dolibarr_main_instance_unique_id = '' ··· 314 315 users.groups = optionalAttrs (cfg.group == "dolibarr") { 315 316 dolibarr = { }; 316 317 }; 317 - 318 - users.users."${config.services.nginx.group}".extraGroups = [ cfg.group ]; 319 - }; 318 + } 319 + (mkIf (cfg.nginx != null) { 320 + users.users."${config.services.nginx.group}".extraGroups = mkIf (cfg.nginx != null) [ cfg.group ]; 321 + }) 322 + ]); 320 323 }