summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaito Bezarius <masterancpp@gmail.com>2022-12-12 12:14:49 +0100
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2022-12-22 00:20:31 +0000
commitd24b9e14a1236932746774f92dcb665083535800 (patch)
tree55ab3514629b3d238fb4f2c9c0a81b5d662a9753
parentMerge pull request #207139 from NixOS/backport-207089-to-release-22.11 (diff)
downloadnixpkgs-origin/backport-205765-to-release-22.11.tar.gz
nixos/services/dolibarr: decouple nginx and let other web servers be usedorigin/backport-205765-to-release-22.11
(cherry picked from commit b19612cb24b61132d57cd1e8abeba09fdf2a5d86)
-rw-r--r--nixos/modules/services/web-apps/dolibarr.nix19
1 files changed, 11 insertions, 8 deletions
diff --git a/nixos/modules/services/web-apps/dolibarr.nix b/nixos/modules/services/web-apps/dolibarr.nix
index 5335c439329c..f262099354d2 100644
--- a/nixos/modules/services/web-apps/dolibarr.nix
+++ b/nixos/modules/services/web-apps/dolibarr.nix
@@ -1,11 +1,11 @@
{ config, pkgs, lib, ... }:
let
- inherit (lib) any boolToString concatStringsSep isBool isString literalExpression mapAttrsToList mkDefault mkEnableOption mkIf mkOption optionalAttrs types;
+ inherit (lib) any boolToString concatStringsSep isBool isString mapAttrsToList mkDefault mkEnableOption mkIf mkMerge mkOption optionalAttrs types;
package = pkgs.dolibarr.override { inherit (cfg) stateDir; };
cfg = config.services.dolibarr;
- vhostCfg = config.services.nginx.virtualHosts."${cfg.domain}";
+ vhostCfg = lib.optionalAttr (cfg.nginx != null) config.services.nginx.virtualHosts."${cfg.domain}";
mkConfigFile = filename: settings:
let
@@ -38,7 +38,7 @@ let
force_install_database = cfg.database.name;
force_install_databaselogin = cfg.database.user;
- force_install_mainforcehttps = vhostCfg.forceSSL;
+ force_install_mainforcehttps = vhostCfg.forceSSL or false;
force_install_createuser = false;
force_install_dolibarrlogin = null;
} // optionalAttrs (cfg.database.passwordFile != null) {
@@ -183,7 +183,8 @@ in
};
# implementation
- config = mkIf cfg.enable {
+ config = mkIf cfg.enable (mkMerge [
+ {
assertions = [
{ assertion = cfg.database.createLocally -> cfg.database.user == cfg.user;
@@ -214,7 +215,7 @@ in
# Security settings
dolibarr_main_prod = true;
- dolibarr_main_force_https = vhostCfg.forceSSL;
+ dolibarr_main_force_https = vhostCfg.forceSSL or false;
dolibarr_main_restrict_os_commands = "${pkgs.mariadb}/bin/mysqldump, ${pkgs.mariadb}/bin/mysql";
dolibarr_nocsrfcheck = false;
dolibarr_main_instance_unique_id = ''
@@ -314,7 +315,9 @@ in
users.groups = optionalAttrs (cfg.group == "dolibarr") {
dolibarr = { };
};
-
- users.users."${config.services.nginx.group}".extraGroups = [ cfg.group ];
- };
+ }
+ (mkIf (cfg.nginx != null) {
+ users.users."${config.services.nginx.group}".extraGroups = mkIf (cfg.nginx != null) [ cfg.group ];
+ })
+]);
}