nixos/apache-httpd/wordpress: copy plugins and themes instead of symlinking

Symlinking works for most plugins and themes, but Avada, for instance, fails to
understand the symlink, causing its file path stripping to fail. This results in
requests that look like:

https://example.com/wp-content//nix/store/...plugin/path/some-file.js

Since hard linking directories is not allowed, copying is the next best thing.
This commit is contained in:
Falco Peijnenburg 2019-01-04 12:01:18 +01:00
parent b27b443e14
commit 9d2c9157d7

View File

@ -85,10 +85,10 @@ let
# remove bundled themes(s) coming with wordpress
rm -Rf $out/wp-content/themes/*
# symlink additional theme(s)
${concatMapStrings (theme: "ln -s ${theme} $out/wp-content/themes/${theme.name}\n") config.themes}
# symlink additional plugin(s)
${concatMapStrings (plugin: "ln -s ${plugin} $out/wp-content/plugins/${plugin.name}\n") (config.plugins) }
# copy additional theme(s)
${concatMapStrings (theme: "cp -r ${theme} $out/wp-content/themes/${theme.name}\n") config.themes}
# copy additional plugin(s)
${concatMapStrings (plugin: "cp -r ${plugin} $out/wp-content/plugins/${plugin.name}\n") (config.plugins) }
# symlink additional translation(s)
mkdir -p $out/wp-content/languages