lol

Merge pull request #209253 from e1mo/dokuwiki/php-package

nixos/dokuwiki: Take phpPackage and phpOptions

authored by

Jonas Heinrich and committed by
GitHub
77635525 59473445

+35 -1
+35 -1
nixos/modules/services/web-apps/dokuwiki.nix
··· 8 user = "dokuwiki"; 9 webserver = config.services.${cfg.webserver}; 10 11 dokuwikiAclAuthConfig = hostName: cfg: pkgs.writeText "acl.auth-${hostName}.php" '' 12 # acl.auth.php 13 # <?php exit()?> ··· 238 ''; 239 }; 240 241 extraConfig = mkOption { 242 type = types.nullOr types.lines; 243 default = null; ··· 303 inherit user; 304 group = webserver.group; 305 306 - phpPackage = pkgs.php81; 307 phpEnv = { 308 DOKUWIKI_LOCAL_CONFIG = "${dokuwikiLocalConfig hostName cfg}"; 309 DOKUWIKI_PLUGINS_LOCAL_CONFIG = "${dokuwikiPluginsLocalConfig hostName cfg}";
··· 8 user = "dokuwiki"; 9 webserver = config.services.${cfg.webserver}; 10 11 + mkPhpIni = generators.toKeyValue { 12 + mkKeyValue = generators.mkKeyValueDefault {} " = "; 13 + }; 14 + mkPhpPackage = cfg: cfg.phpPackage.buildEnv { 15 + extraConfig = mkPhpIni cfg.phpOptions; 16 + }; 17 + 18 dokuwikiAclAuthConfig = hostName: cfg: pkgs.writeText "acl.auth-${hostName}.php" '' 19 # acl.auth.php 20 # <?php exit()?> ··· 245 ''; 246 }; 247 248 + phpPackage = mkOption { 249 + type = types.package; 250 + relatedPackages = [ "php80" "php81" ]; 251 + default = pkgs.php81; 252 + defaultText = "pkgs.php81"; 253 + description = lib.mdDoc '' 254 + PHP package to use for this dokuwiki site. 255 + ''; 256 + }; 257 + 258 + phpOptions = mkOption { 259 + type = types.attrsOf types.str; 260 + default = {}; 261 + description = lib.mdDoc '' 262 + Options for PHP's php.ini file for this dokuwiki site. 263 + ''; 264 + example = literalExpression '' 265 + { 266 + "opcache.interned_strings_buffer" = "8"; 267 + "opcache.max_accelerated_files" = "10000"; 268 + "opcache.memory_consumption" = "128"; 269 + "opcache.revalidate_freq" = "15"; 270 + "opcache.fast_shutdown" = "1"; 271 + } 272 + ''; 273 + }; 274 + 275 extraConfig = mkOption { 276 type = types.nullOr types.lines; 277 default = null; ··· 337 inherit user; 338 group = webserver.group; 339 340 + phpPackage = mkPhpPackage cfg; 341 phpEnv = { 342 DOKUWIKI_LOCAL_CONFIG = "${dokuwikiLocalConfig hostName cfg}"; 343 DOKUWIKI_PLUGINS_LOCAL_CONFIG = "${dokuwikiPluginsLocalConfig hostName cfg}";