nixpkgs-suyu/pkgs/servers/web-apps/wordpress/packages
Colin Arnott cd8ee4179c
wordpressPackages: add builtins and update
As a companion to #210873, this change adds some of the builtin plugins
and themes, that generally ship with wordpress, so that consumers can
explicitly opt into including them in their wordpress derivation.
2023-01-15 10:27:39 +00:00
..
default.nix wordpressPackages.plugins.civicrm: init at 5.56.0 2023-01-04 09:28:35 +00:00
generate.sh
languages.json wordpressPackages: add builtins and update 2023-01-15 10:27:39 +00:00
plugins.json wordpressPackages: add builtins and update 2023-01-15 10:27:39 +00:00
README.md
themes.json wordpressPackages: add builtins and update 2023-01-15 10:27:39 +00:00
thirdparty.nix wordpressPackages.plugins.civicrm: init at 5.56.0 2023-01-04 09:28:35 +00:00
wordpress-languages.json
wordpress-plugins.json wordpressPackages: add builtins and update 2023-01-15 10:27:39 +00:00
wordpress-themes.json wordpressPackages: add builtins and update 2023-01-15 10:27:39 +00:00

= Adding plugin, theme or language =

To extend the wordpressPackages set, add a new line to the corresponding json file with the codename of the package:

  • wordpress-languages.json for language packs
  • wordpress-themes.json for themes
  • wordpress-plugins.json for plugins

The codename is the last part in the url of the plugin or theme page, for example cookie-notice in in the url https://wordpress.org/plugins/cookie-notice/ or twentytwenty in https://wordpress.org/themes/twentytwenty/.

In case of language packages, the name consists of country and language codes. For example de_DE for country code de (Germany) and language DE (German). For available translations and language codes see upstream translation repository.

To regenerate the nixpkgs wordpressPackages set, run:

./generate.sh

After that you can commit and submit the changes.

= Usage with the Wordpress module =

The plugins will be available in the namespace wordpressPackages.plugins. Using it together with the Wordpress module could look like this:

services.wordpress = {
  sites."blog.${config.networking.domain}" = {
    plugins = with pkgs.wordpressPackages.plugins; [
      anti-spam-bee
      code-syntax-block
      cookie-notice
      lightbox-with-photoswipe
      wp-gdpr-compliance
    ];
  };
};

The same scheme applies to themes and languages.