|
15 | 15 | perSystem = { self', pkgs, config, lib, system, ... }: |
16 | 16 | with pkgs; |
17 | 17 | let |
| 18 | + getEnv = name: default: |
| 19 | + (if "" == builtins.getEnv name then |
| 20 | + default |
| 21 | + else |
| 22 | + builtins.getEnv name); |
18 | 23 | dbName = "wordpress"; |
19 | 24 | dbPort = 3306; |
20 | 25 | dbUserName = "wordpress"; |
21 | 26 | dbUserPass = "8BVMm2jqDE6iADNyfaVCxoCzr3eBY6Ep"; |
22 | 27 | serverPort = 8888; |
23 | | - phpVersions = { |
24 | | - php81 = php81; |
25 | | - php82 = php82; |
26 | | - php83 = php83; |
27 | | - php84 = php84; |
28 | | - }; |
29 | | - phpBins = lib.attrsets.mapAttrsToList (name: phpPkg: |
30 | | - pkgs.writeShellScriptBin name ''${phpPkg}/bin/php "$@"'') |
31 | | - phpVersions; |
32 | | - php = php84.buildEnv { |
| 28 | + phpPackage = getEnv "PHP_PACKAGE" "php"; |
| 29 | + php = pkgs.${phpPackage}.buildEnv { |
33 | 30 | extensions = { enabled, all }: |
34 | 31 | enabled ++ (with all; [ imagick memcached ]); |
35 | 32 | }; |
| 33 | + wordpressPackage = getEnv "WORDPRESS_PACKAGE" "default"; |
36 | 34 | wp2staticLib = inputs.wp2static.lib.${system}; |
37 | 35 | wp2staticPkgs = inputs.wp2static.packages.${system}; |
38 | 36 | wp2static = wp2staticPkgs.plugin; |
|
150 | 148 | }).format { }; |
151 | 149 | update-wordpress = |
152 | 150 | inputs.wordpress-flake.packages.${system}.update-wordpress; |
| 151 | + wordpress = |
| 152 | + inputs.wordpress-flake.packages.${system}.${wordpressPackage}; |
153 | 153 | wpConfig = inputs.wordpress-flake.lib.${system}.mkWPConfig { |
154 | 154 | inherit pkgs lib; |
155 | 155 | name = "wp-config.php"; |
|
208 | 208 | mkdir -p ./data/wordpress1 |
209 | 209 | chmod ug+w ./data/wordpress1/wp-config.php || true |
210 | 210 | cp "${wpConfig}" "./data/wordpress1/wp-config.php" |
211 | | - ${update-wordpress}/bin/update-wordpress ./data/wordpress1 |
| 211 | + ${update-wordpress}/bin/update-wordpress ./data/wordpress1 ${wordpress} |
212 | 212 | cd ./data/wordpress1 |
213 | 213 | ${pkgs.wp-cli}/bin/wp core install --url="https://example.com" --title=WordPress --admin_user=user --admin_email="user@example.com" --admin_password=pass |
214 | 214 | ${pkgs.wp-cli}/bin/wp option update permalink_structure "/%postname%/" |
|
220 | 220 |
|
221 | 221 | devShells.default = pkgs.mkShell { |
222 | 222 | buildInputs = |
223 | | - [ omnix php phpunit phpPackages.composer shellcheck wp-cli ] |
224 | | - ++ phpBins; |
| 223 | + [ omnix php phpunit phpPackages.composer shellcheck wp-cli ]; |
225 | 224 | inputsFrom = |
226 | 225 | [ config.process-compose."default".services.outputs.devShell ]; |
227 | 226 | }; |
|
0 commit comments