diff options
| author | talyz <kim.lindberger@gmail.com> | 2021-06-23 18:15:14 +0200 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2021-06-30 22:07:25 +0000 |
| commit | 3b84448e67f92c1a589d33761fd2ae9bd915b481 (patch) | |
| tree | c840f2b2751179d1a79a0294f926a00fb343c0ab | |
| parent | jetbrains: updates (diff) | |
| download | nixpkgs-3b84448e67f92c1a589d33761fd2ae9bd915b481.tar.gz | |
discourse: Fix plugin support
For plugins to work properly, their assets need to be precompiled
along with the rest of Discourse's assets. This means we need to build
new packages when the list of plugins change.
(cherry picked from commit 9af3672f4faaafba0ce0129a87fc7925c14eeb61)
| -rw-r--r-- | nixos/modules/services/web-apps/discourse.nix | 5 | ||||
| -rw-r--r-- | pkgs/servers/web-apps/discourse/default.nix | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index 49958fc6190c..00a269ba871d 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -30,6 +30,9 @@ in package = lib.mkOption { type = lib.types.package; default = pkgs.discourse; + apply = p: p.override { + plugins = lib.unique (p.enabledPlugins ++ cfg.plugins); + }; defaultText = "pkgs.discourse"; description = '' The discourse package to use. @@ -731,8 +734,6 @@ in cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/ cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/ - cp -r ${cfg.package}/share/discourse/plugins.dist/* /run/discourse/plugins/ - ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} /run/discourse/plugins/") cfg.plugins} ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads ln -sf /var/lib/discourse/backups /run/discourse/public/backups diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 5e7c4d5368a4..8258049a4034 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -3,6 +3,8 @@ , util-linux, gawk, imagemagick, optipng, pngquant, libjpeg, jpegoptim , gifsicle, libpsl, redis, postgresql, which, brotli, procps, rsync , nodePackages, v8 + +, plugins ? [] }: let @@ -148,6 +150,8 @@ let mkdir $NIX_BUILD_TOP/tmp_home export HOME=$NIX_BUILD_TOP/tmp_home + ${lib.concatMapStringsSep "\n" (p: "cp -r ${p} plugins/") plugins} + export RAILS_ENV=production bundle exec rake db:migrate >/dev/null @@ -212,7 +216,6 @@ let mv config config.dist mv public public.dist - mv plugins plugins.dist runHook postBuild ''; @@ -230,6 +233,7 @@ let ln -sf /run/discourse/public $out/share/discourse/public ln -sf /run/discourse/plugins $out/share/discourse/plugins ln -sf ${assets} $out/share/discourse/public.dist/assets + ${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} $out/share/discourse/plugins/") plugins} runHook postInstall ''; @@ -244,6 +248,7 @@ let passthru = { inherit rubyEnv runtimeEnv runtimeDeps rake; + enabledPlugins = plugins; ruby = rubyEnv.wrappedRuby; tests = nixosTests.discourse; }; |
