Commit Graph

36 Commits

Author SHA1 Message Date
figsoda
1ecbafd0a2 nixos/discourse: remove unnecessary parentheses 2022-11-30 18:01:29 -05:00
Robert Hensing
93a905ec4f
Merge pull request #194759 from hercules-ci/fqdn-or-hostname
nixos: Add `networking.fqdnOrHostName`
2022-11-09 13:53:57 +01:00
Yorick van Pelt
af4a43e36a
treewide: convert fake octal ints to strings
These were being cast to strings later and then reinterpreted as
octal.
2022-10-28 17:23:44 +02:00
Robert Hensing
5699ff529a nixos/discourse: Refactor to use config.networking.fqdnOrHostName 2022-10-06 16:24:39 +02:00
pennae
f2ea09ecbe nixos/*: convert options with listings
minor rendering changes.
2022-08-31 17:27:36 +02:00
pennae
ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
pennae
0cfcb5908c nixos/*: <screen> -> <programlisting>
most of the screen tags used in option docs are actually listings of
some sort. nsd had a notable exception where its screen usage was pretty
much a raw markdown block that made most sense to convert into docbook lists.
2022-08-31 16:27:24 +02:00
pennae
51a11254a7 nixos/*: literalDocBook -> literalMD
no change to rendered output
2022-08-27 19:18:29 +02:00
pennae
6039648c50 nixos/*: automatically convert option docs 2022-08-19 22:40:58 +02:00
pennae
d0ba463fcf nixos/*: replace <quote> with actual quotes 2022-08-19 22:40:58 +02:00
pennae
2646fd7c1b nixos/*: remove <productname>
no change to the rendered output, and we can't properly represent this
in markdown anyway.
2022-08-19 22:40:58 +02:00
talyz
7feea0d062
discourse: 2.9.0.beta4 -> 2.9.0.beta9
Co-authored-by: Tobias Stenzel <ts@flyingcircus.io>
2022-08-12 12:20:17 +02:00
pennae
2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
talyz
068c5a0c80
nixos/discourse: Update redis server settings...
...to match the updated redis module.
2022-03-25 12:06:01 +01:00
talyz
04afc69a29
discourse: 2.9.0.beta1 -> 2.9.0.beta3 2022-03-25 12:05:48 +01:00
Graham Christensen
06edb74413
Merge pull request #148785 from pennae/more-option-doc-staticizing
treewide: more defaultText for options
2021-12-17 11:14:08 -05:00
pennae
ed673a69db treewide: add defaultText for options with simple cfg.* expression defaults
adds defaultText for options with defaults that use only literals, full config.*
paths, and the cfg shortcut binding.
2021-12-09 01:14:16 +01:00
pennae
e24a8775a8 treewide: set defaultText for options using simple path defaults
adds defaultText for all options that set their default to a path expression
using the ubiquitous `cfg` shortcut bindings.
2021-12-09 01:12:13 +01:00
talyz
125bb7dac1
discourse: Don't patch the public path
Instead of patching the path to /public in Discourse's sources, make
the nginx configuration refer to the symlink in the discourse
package which points to the real path.

When there is a mismatch between the path nginx serves and the path
Discourse thinks it serves, we can run into issues like files not
being served - at least when sendfile requests from the ruby app are
processed by nginx. The issue I ran into most recently is that backup
downloads don't work.

Since Discourse refers to the public directory relative to the Rails
root in many places, it's much easier to just sync this path to the
nginx configuration than trying to patch all occurrences in the
sources. This should hopefully mean less potential for breakage in
future Discourse releases, too.
2021-12-06 14:21:39 +01:00
talyz
e2415dbb8f
discourse: 2.7.9 -> 2.8.0.beta9
Update to the latest beta, since upstream advocates for it. See
https://github.com/NixOS/nixpkgs/issues/146308 for more info.
2021-12-02 10:31:00 +01:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
Kim Lindberger
0686c40309
Merge pull request #139180 from ryantm/dev/ryantm/discourse-tmp
discourse: enable restoring backups bigger than RAM
2021-09-24 14:31:46 +02:00
Ryan Mulligan
f933c68374 discourse: enable restoring backups bigger than RAM
When restoring a backup, discourse decompresses the backup archive in
the /share/discourse/tmp dir. Before this change, it is linked to /run
which is typically backed by memory, so the backup will fail to
restore if you do not have enough memory on your system to contain the
backup. This has already happened to me on two small forums.

This moves tmp to the StateDirectory /var/lib/discourse/tmp which is
typically backed by disk.
2021-09-23 09:59:31 -07:00
Ryan Mulligan
6a9003f316 nixos/discourse: add discourse.admin.skipCreate option 2021-09-21 16:45:59 -07:00
talyz
bb14315d51
discourse: Remove leftover link to unused plugins directory 2021-08-17 18:17:56 +02:00
talyz
20548f050e
nixos/discourse: Update plugin documentation
Update the documentation regarding plugins to reflect recent changes.
2021-07-14 13:18:06 +02:00
Luke Granger-Brown
272773e1cb
Merge pull request #127931 from talyz/discourse-plugins
discourse: Fix plugin support
2021-06-30 23:03:57 +01:00
talyz
9af3672f4f
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.
2021-06-24 19:38:19 +02:00
Daniel Nagy
73f9c29a2c
nixos/discourse: set port type to types.port 2021-05-30 14:38:18 +02:00
talyz
cb80b67993 nixos/discourse: Assert deployed PostgreSQL version
Assert that the PostgreSQL version being deployed is the one used
upstream. Allow the user to override this assertion, since it's not
always possible or preferable to use the recommended one.
2021-05-28 17:43:02 -07:00
talyz
1f6b48be74 discourse: 2.6.5 -> 2.7.0 2021-05-28 17:43:02 -07:00
talyz
38398fade1
nixos/discourse: Use replace-secret to avoid leaking secrets
Using `replace-literal` to insert secrets leaks the secrets through
the `replace-literal` process' `/proc/<pid>/cmdline`
file. `replace-secret` solves this by reading the secret straight from
the file instead, which also simplifies the code a bit.
2021-05-19 09:32:06 +02:00
talyz
7310dd0da8
nixos/discourse: Fix plugin linking
When linking multiple plugins, the `ln` runs need to be separated by
newlines..

Fixes #119584.
2021-04-16 14:21:07 +02:00
talyz
515fb48312
nixos/discourse: Fail on file errors
Bash doesn't handle subshell errors properly if the result is used as
input to a command. To cause the services to fail when the files can't
be read, we need to assign the value to a variable, then export it
separately.
2021-04-16 14:21:01 +02:00
talyz
642854055c
nixos/discourse: Add NixOS manual entry 2021-04-05 13:55:57 +02:00
talyz
8dddb70bb9
nixos/discourse: Init 2021-04-05 13:54:25 +02:00