summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2023-01-28 12:01:10 +0000
committerGitHub <noreply@github.com>2023-01-28 12:01:10 +0000
commitb460ba19982e9531f03e74bc8a0bf6668267daa7 (patch)
tree7f3b8e6c8206fee68dc80d566a7328ba929c7073 /nixos
parentcfb80ea275295fb0c43ffbc0493ea6343244ee7b (diff)
parent8142fb901dfc9cd97936eba52515e8d4ce74c852 (diff)
Merge master into staging-next
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2305.section.xml19
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md4
-rw-r--r--nixos/modules/services/web-apps/wordpress.nix63
-rw-r--r--nixos/tests/nextcloud/default.nix2
4 files changed, 47 insertions, 41 deletions
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
index 908b0cc60465..0d80824b28ba 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
@@ -304,6 +304,14 @@
</listitem>
<listitem>
<para>
+ The <literal>wordpress</literal> derivation no longer contains
+ any builtin plugins or themes. If you need them you have to
+ add them back to prevent your site from breaking. You can find
+ them in <literal>wordpressPackages.{plugins,themes}</literal>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
<literal>llvmPackages_rocm.llvm</literal> will not contain
<literal>clang</literal> or <literal>compiler-rt</literal>.
<literal>llvmPackages_rocm.clang</literal> will not contain
@@ -360,6 +368,17 @@
</listitem>
<listitem>
<para>
+ The
+ <link linkend="opt-services.wordpress.sites._name_.plugins">services.wordpress.sites.&lt;name&gt;.plugins</link>
+ and
+ <link linkend="opt-services.wordpress.sites._name_.themes">services.wordpress.sites.&lt;name&gt;.themes</link>
+ options have been converted from sets to attribute sets to
+ allow for consumers to specify explicit install paths via
+ attribute name.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
In <literal>mastodon</literal> it is now necessary to specify
location of file with <literal>PostgreSQL</literal> database
password. In
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index 372cd8f06661..08ebba1bbc64 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -77,6 +77,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- `tut` has been updated from 1.0.34 to 2.0.0, and now uses the TOML format for the configuration file instead of INI. Additional information can be found [here](https://github.com/RasmusLindroth/tut/releases/tag/2.0.0).
+- The `wordpress` derivation no longer contains any builtin plugins or themes. If you need them you have to add them back to prevent your site from breaking. You can find them in `wordpressPackages.{plugins,themes}`.
+
- `llvmPackages_rocm.llvm` will not contain `clang` or `compiler-rt`. `llvmPackages_rocm.clang` will not contain `llvm`. `llvmPackages_rocm.clangNoCompilerRt` has been removed in favor of using `llvmPackages_rocm.clang-unwrapped`.
- The EC2 image module previously detected and automatically mounted ext3-formatted instance store devices and partitions in stage-1 (initramfs), storing `/tmp` on the first discovered device. This behaviour, which only catered to very specific use cases and could not be disabled, has been removed. Users relying on this should provide their own implementation, and probably use ext4 and perform the mount in stage-2.
@@ -89,6 +91,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- Qt 5.12 and 5.14 have been removed, as the corresponding branches have been EOL upstream for a long time. This affected under 10 packages in nixpkgs, largely unmaintained upstream as well, however, out-of-tree package expressions may need to be updated manually.
+- The [services.wordpress.sites.&lt;name&gt;.plugins](#opt-services.wordpress.sites._name_.plugins) and [services.wordpress.sites.&lt;name&gt;.themes](#opt-services.wordpress.sites._name_.themes) options have been converted from sets to attribute sets to allow for consumers to specify explicit install paths via attribute name.
+
- In `mastodon` it is now necessary to specify location of file with `PostgreSQL` database password. In `services.mastodon.database.passwordFile` parameter default value `/var/lib/mastodon/secrets/db-password` has been changed to `null`.
- The `--target-host` and `--build-host` options of `nixos-rebuild` no longer treat the `localhost` value specially – to build on/deploy to local machine, omit the relevant flag.
diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix
index 416ad8556bdd..d4c987da1144 100644
--- a/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixos/modules/services/web-apps/wordpress.nix
@@ -32,8 +32,8 @@ let
# Since hard linking directories is not allowed, copying is the next best thing.
# copy additional plugin(s), theme(s) and language(s)
- ${concatMapStringsSep "\n" (theme: "cp -r ${theme} $out/share/wordpress/wp-content/themes/${theme.name}") cfg.themes}
- ${concatMapStringsSep "\n" (plugin: "cp -r ${plugin} $out/share/wordpress/wp-content/plugins/${plugin.name}") cfg.plugins}
+ ${concatStringsSep "\n" (mapAttrsToList (name: theme: "cp -r ${theme} $out/share/wordpress/wp-content/themes/${name}") cfg.themes)}
+ ${concatStringsSep "\n" (mapAttrsToList (name: plugin: "cp -r ${plugin} $out/share/wordpress/wp-content/plugins/${name}") cfg.plugins)}
${concatMapStringsSep "\n" (language: "cp -r ${language} $out/share/wordpress/wp-content/languages/") cfg.languages}
'';
};
@@ -130,62 +130,45 @@ let
};
plugins = mkOption {
- type = types.listOf types.path;
- default = [];
+ type = with types; coercedTo
+ (listOf path)
+ (l: warn "setting this option with a list is deprecated"
+ listToAttrs (map (p: nameValuePair (p.name or (throw "${p} does not have a name")) p) l))
+ (attrsOf path);
+ default = {};
description = lib.mdDoc ''
- List of path(s) to respective plugin(s) which are copied from the 'plugins' directory.
+ Path(s) to respective plugin(s) which are copied from the 'plugins' directory.
::: {.note}
These plugins need to be packaged before use, see example.
:::
'';
example = literalExpression ''
- let
- # Wordpress plugin 'embed-pdf-viewer' installation example
- embedPdfViewerPlugin = pkgs.stdenv.mkDerivation {
- name = "embed-pdf-viewer-plugin";
- # Download the theme from the wordpress site
- src = pkgs.fetchurl {
- url = "https://downloads.wordpress.org/plugin/embed-pdf-viewer.2.0.3.zip";
- sha256 = "1rhba5h5fjlhy8p05zf0p14c9iagfh96y91r36ni0rmk6y891lyd";
- };
- # We need unzip to build this package
- nativeBuildInputs = [ pkgs.unzip ];
- # Installing simply means copying all files to the output directory
- installPhase = "mkdir -p $out; cp -R * $out/";
- };
- # And then pass this theme to the themes list like this:
- in [ embedPdfViewerPlugin ]
+ {
+ inherit (pkgs.wordpressPackages.plugins) embed-pdf-viewer-plugin;
+ }
'';
};
themes = mkOption {
- type = types.listOf types.path;
- default = [];
+ type = with types; coercedTo
+ (listOf path)
+ (l: warn "setting this option with a list is deprecated"
+ listToAttrs (map (p: nameValuePair (p.name or (throw "${p} does not have a name")) p) l))
+ (attrsOf path);
+ default = { inherit (pkgs.wordpressPackages.themes) twentytwentythree; };
+ defaultText = literalExpression "{ inherit (pkgs.wordpressPackages.themes) twentytwentythree; }";
description = lib.mdDoc ''
- List of path(s) to respective theme(s) which are copied from the 'theme' directory.
+ Path(s) to respective theme(s) which are copied from the 'theme' directory.
::: {.note}
These themes need to be packaged before use, see example.
:::
'';
example = literalExpression ''
- let
- # Let's package the responsive theme
- responsiveTheme = pkgs.stdenv.mkDerivation {
- name = "responsive-theme";
- # Download the theme from the wordpress site
- src = pkgs.fetchurl {
- url = "https://downloads.wordpress.org/theme/responsive.3.14.zip";
- sha256 = "0rjwm811f4aa4q43r77zxlpklyb85q08f9c8ns2akcarrvj5ydx3";
- };
- # We need unzip to build this package
- nativeBuildInputs = [ pkgs.unzip ];
- # Installing simply means copying all files to the output directory
- installPhase = "mkdir -p $out; cp -R * $out/";
- };
- # And then pass this theme to the themes list like this:
- in [ responsiveTheme ]
+ {
+ inherit (pkgs.wordpressPackages.themes) responsive-theme;
+ }
'';
};
diff --git a/nixos/tests/nextcloud/default.nix b/nixos/tests/nextcloud/default.nix
index b8d3ba75b51a..350486e8c733 100644
--- a/nixos/tests/nextcloud/default.nix
+++ b/nixos/tests/nextcloud/default.nix
@@ -26,4 +26,4 @@ foldl
};
})
{ }
- [ 24 25 ]
+ [ 24 25 26 ]