Commit Graph

673 Commits

Author SHA1 Message Date
pennae
2d564521c0 treewide: add literalDocBook text to options with complex defaults
some options have default that are best described in prose, such as
defaults that depend on the system stateVersion, defaults that are
derivations specific to the surrounding context, or those where the
expression is much longer and harder to understand than a simple text
snippet.
2021-12-09 01:38:24 +01:00
pennae
e72435e612 treewide: make option descriptions constants
escape interpolations in descriptions where possible, replace them with
sufficiently descriptive text elsewhere. also expand cfg.* paths in
descriptions.
2021-12-09 01:21:04 +01: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
Daniel Olsen
1681c0b49e nixos/dokuwiki: Use php74 for the phpfpm pool
php8 does not work and is not supported
2021-12-08 20:22:12 +01:00
Kim Lindberger
9bf94de535
Merge pull request #147506 from talyz/discourse-2.8.0.beta8
discourse: 2.7.9 -> 2.8.0.beta9
2021-12-08 18:15:48 +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
Robert Hensing
862d167f17
Merge pull request #147441 from pennae/option-doc-staticizing
nixos/*: add trivial defaultText to options where applicable
2021-12-06 01:35:38 +01:00
pennae
2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
Ilan Joselevich
c0f4b20db7 nextcloud23: init at 23.0.0 2021-12-02 20:53:21 +02:00
talyz
ab042d6452
discourse.plugins: Update all plugins to their latest versions
Also, add support for updating plugins which keep gem versions in
files at the root of the repo (discourse-prometheus) and replace the
`up-plugin.sh` script with a README file pointing to the plugin
packaging documentation.
2021-12-02 10:43:14 +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
Rok Garbas
e3cd002ada
Merge pull request #145049 from fernsehmuell/patch-1
add opcache to list of php packages
2021-11-22 06:15:57 -08:00
Sandro
312a3af375
Merge pull request #145257 from astro/openwebrx 2021-11-13 02:43:01 +01:00
Maximilian Bosch
dbe1a4804d
Merge pull request #145192 from happysalada/plausible_add_release_cookie
plausible: add remote connection with iex
2021-11-11 18:24:10 +01:00
Sandro
d3f2137f5c
Merge pull request #144250 from aanderse/nixos/zabbixWeb 2021-11-11 15:21:09 +01:00
Astro
f1020d20fa nixos/openwebrx: init 2021-11-10 23:42:18 +01:00
xaverdh
03a257e5a3
treewide: quote urls according to rfc 0045 (#145260)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-11-10 11:37:56 +01:00
Maciej Krüger
11f1d8620a
nixos/matomo: delete tmp folder to fix borked upgrades 2021-11-09 15:14:31 +01:00
Maciej Krüger
769f20e20a
nixos/matomo: allow changing hostname easily 2021-11-09 15:10:01 +01:00
happysalada
aff0f5792b plausible: add remote connection with iex 2021-11-09 08:15:53 -05:00
Maximilian Bosch
25e6a0ad62
Merge pull request #143345 from happysalada/update_plausible
plausible: 1.3.0 -> 1.4.0
2021-11-08 23:48:53 +01:00
fernsehmuell
4fe305186d
add opcache to list of php packages
opcache is used later, but was never added to phpExt.
2021-11-08 10:29:16 +01:00
Izorkin
d1a8806e39 nixos/mastodon: allow '@resources' filter to mastodon-web service 2021-11-07 11:59:36 +01:00
Izorkin
a71576b07b nixos/mastodon/streaming: add '@memlock' SystemCallFilter 2021-11-06 16:45:20 +01:00
Izorkin
91e510ae22 nixos/mastodon: add '@ipc' SystemCallFilter 2021-11-06 16:45:20 +01:00
Izorkin
700ea62f54 nixos/mastodon: remove duplicates SystemCallFilters 2021-11-06 16:45:20 +01:00
Izorkin
943f15d4b7 nixos/mastodon: add new sandboxing options 2021-11-06 16:45:20 +01:00
happysalada
9c71958cfa plausible: use loadcredentials
plausible: service fixes, remove console attempt

plausible: fix yarn.nix call
2021-11-06 09:15:19 -04:00
Aaron Andersen
0c5d86b18c
Merge pull request #135601 from stackshadow/code-server-bin
code-server: init code-server-module
2021-11-03 22:15:26 -04:00
Aaron Andersen
5d7683fcae nixos/zabbixWeb: remove added whitespace to the passwordFile option 2021-11-02 10:35:55 -04:00
Jonas Heinrich
50029ed89c nixos/dokuwiki: add missing option enable 2021-11-02 09:23:06 +09:00
Martin
f4d551c0d4 maintainer: add stackshadow 2021-11-01 18:47:04 +01:00
Martin
e620c32e59 code-server: init code-server-module 2021-11-01 18:46:57 +01:00
Guillaume Girol
9545fade8b
Merge pull request #142743 from symphorien/ihm-5-dev-2
python3.pkgs.ihatemoney: 4.2 -> 5.1.1
2021-10-31 19:32:40 +00:00
Maximilian Bosch
aaeba3c577
Merge pull request #143840 from maralorn/nextcloud-cron
nixos/nextcloud: Adapt cron frequency to changed upstream requirement
2021-10-31 15:50:47 +01:00
Silvan Mosberger
f1447fdaa8
nixos/invidious: init
Co-authored-by: Simon Bruder <simon@sbruder.de>
2021-10-30 16:33:38 +02:00
Malte Brandy
868157b9d6
nixos/nextcloud: Adapt cron frequency to changed upstream requirement
https://docs.nextcloud.com/server/22/admin_manual/configuration_server/background_jobs_configuration.html

Says that the job should be run every 5 minutes.
Nextcloud shows a warning in the settings screen whenever the last run
was more than 10 minutes ago.
2021-10-30 14:22:22 +02:00
Mario Rodas
e49cd51ebc
Merge pull request #142672 from truh/update/plantuml-server_1.2021.12
plantuml-server: 1.2021.7 -> 1.2021.12
2021-10-30 04:44:16 -05:00
happysalada
a8f9539d01 lemmy: systemd postgresql setup service cleanup 2021-10-30 09:16:09 +09:00
Guillaume Girol
e28414b63d python3.pkgs.ihatemoney: 4.2 -> 5.1.1 2021-10-28 18:37:11 +02:00
Guillaume Girol
6faa5581fd
Merge pull request #113198 from Izorkin/update-mastodon-mail
nixos/mastodon: fix send e-mail notifications
2021-10-27 18:20:18 +00:00
Maximilian Bosch
55e25f7840
Merge pull request #142800 from Ma27/drop-nextcloud-20
nextcloud20: drop
2021-10-27 13:11:06 +02:00
Maximilian Bosch
04fdff2517
nixos/nextcloud: drop obsolete assertion 2021-10-27 12:54:04 +02:00
Izorkin
1d948428c8
nixos/mastodon: fix send e-mail notifications 2021-10-26 10:59:39 +03:00
Cleeyv
917c5fae70 nixos/jibri: fix & docs for enable not via meet 2021-10-25 20:46:24 -04:00
Cleeyv
ff8ed90033 nixos/jitsi-meet: add jibri.enable
This option enables a jibri service on the same host that is running
jitsi-meet. It was written, along with the jibri module, by @puckipedia
for nixcon-video-infra 2020.
Co-authored-by: Puck Meerburg <puck@puck.moe>
2021-10-25 20:46:24 -04:00
Izorkin
4c092350ed nixos/peertube: init service
Co-authored-by: Moritz Hedtke <Moritz.Hedtke@t-online.de>
Co-authored-by: Steven Roose <steven@stevenroose.org>
Co-authored-by: Matthias Beyer <mail@beyermatthias.de>
Co-authored-by: Ismaël Bouya <ismael.bouya@normalesup.org>
2021-10-25 13:12:30 +09:00
Maximilian Bosch
e1e15974f8
nextcloud20: drop
The version 20 of Nextcloud will be EOLed by the end of this month[1].

Since the recommended default (that didn't raise an eval-warning) on
21.05 was Nextcloud 21, this shouldn't affect too many people.

In order to ensure that nobody does a (not working) upgrade across
several major-versions of Nextcloud, I replaced the derivation of
`nextcloud20` with a `throw` that provides instructions how to proceed.

The only case that I consider "risky" is a setup upgraded from 21.05 (or
older) with a `system.stateVersion` <21.11 and with
`services.nextcloud.package` not explicitly declared in its config. To
avoid that, I also left the `else-if` for `stateVersion < 21.03` which
now sets `services.nextcloud.package` to `pkgs.nextcloud20` and thus
leads to an eval-error. This condition can be removed
as soon as 21.05 is EOL because then it's safe to assume that only
21.11. is used as stable release where no Nextcloud <=20 exists that can
lead to such an issue.

It can't be removed earlier because then every `system.stateVersion <
21.11` would lead to `nextcloud21` which is a problem if `nextcloud19`
is still used.

[1] https://docs.nextcloud.com/server/20/admin_manual/release_schedule.html
2021-10-25 01:34:47 +02:00
Sebastian
dc0769c63c
nixos/bookstack: fix error message output (#142729) 2021-10-24 18:13:54 +08:00
Jakob Klepp
5d5a5fce90 nixos/plantuml-server: use graphviz instead of graphviz_2_32
The plantuml package made this change as well

e785e1b24b
2021-10-23 17:49:05 +02:00
Maciej Krüger
b11e0a853a
Merge pull request #142084 from mkg20001/hedge 2021-10-19 15:23:45 +02:00
Maciej Krüger
cb7459c286
nixos/hedgedoc: add more options for oauth2 2021-10-18 14:20:51 +02:00
happysalada
af1ac44440 jitsi: add caddy reverse proxy option 2021-10-18 19:11:32 +09:00
Maximilian Bosch
3498c5ff3c
nixos/nextcloud: build manual without warnings 2021-10-09 22:45:39 +02:00
Maximilian Bosch
1ee008fcb5
nixos/nextcloud: fixup #119638
A few minor changes to get #119638 - nextcloud: add option to set
datadir and extensions - ready:

* `cfg.datadir` now gets `cfg.home` as default to make the type
  non-nullable.
* Enhanced the `basic` test to check the behavior with a custom datadir
  that's not `/var/lib/nextcloud`.
* Fix hashes for apps in option example.
* Simplify if/else for `appstoreenable` in override config.
* Simplify a few `mapAttrsToList`-expressions in
  `nextcloud-setup.service`.
2021-10-09 22:45:31 +02:00
Maximilian Bosch
7856e40da6
nixos/nextcloud: fix wording in manual 2021-10-09 20:52:52 +02:00
Robbert Gurdeep Singh
1852212872
nixos/nextcloud: fail systemd-service if apps don't activate 2021-10-09 20:33:17 +02:00
Robbert Gurdeep Singh
18b18929d7
nixos/nextcloud: add settings to manage nextcloud apps
Note the appstoreEnable which will prevent nextcloud form updating
nix-managed apps. This is needed because nextcloud will store an other
version of the app in /var/lib/nextcloud/store-apps and it will
no longer be manageable.
2021-10-09 20:33:16 +02:00
Robbert Gurdeep Singh
7ba02a7b1e
nixos/nextcloud: add services.nextcloud.datadir setting
This option can be used to set an alternative storage location for
files and app metadata.
2021-10-09 20:33:13 +02:00
Maximilian Bosch
80404a23c9
Merge pull request #140775 from Ma27/nextcloud-docs-and-secrets
nixos/nextcloud: manual improvements & pass secrets via the environment to `nextcloud-occ`
2021-10-09 20:01:15 +02:00
Maximilian Bosch
f57bed8832
nixos/nextcloud: drop adminpass/dbpass options entirely 2021-10-08 18:30:57 +02:00
ajs124
ae53e57a7a
Merge pull request #133141 from helsinki-systems/feat/jitsi-meet-websocket
nixos/jitsi-meet: add support for xmpp-websocket
2021-10-08 16:51:00 +02:00
Maximilian Bosch
9f37d6aee0
nixos/nextcloud: put secrets into the environment of nextcloud-setup.service
The `$(</path/to/file)`-expansion appears verbatim in the cmdline of
`nextcloud-occ` which means that an unprivileged user could find
sensitive values (i.e. admin password & database password) by monitoring
`/proc/<pid>/cmdline`.

Now, these values don't appear in a command line anymore, but will be
passed as environment variables to `nextcloud-occ`.
2021-10-06 18:18:18 +02:00
Maximilian Bosch
fb40526961
nixos/nextcloud: minor manual improvements
* Linkify documentation about objectstore-feature rather than only
  mentioning it.
* Use `<literal>` where it makes sense.
* Remove unnecessary `Whether to load` from `enableImagemagick` because
  `mkEnableOption` already prepends `Whether to enable` to the given
  description.
2021-10-06 17:33:31 +02:00
Bill Ewanick
cc3b147ed1 nixos/lemmy: init
Co-authored-by: Raphael Megzari <raphael@megzari.com>
2021-10-06 21:02:51 +09:00
Maximilian Bosch
f8feb1ad27
Merge pull request #139604 from mitchmindtree/nextcloud-objectstore
nixos/nextcloud: Add option for using object storage as primary storage
2021-10-05 20:52:24 +02:00
mitchmindtree
c5d08ebee1 nixos/nextcloud: Fix ambiguity in objectstoreConfig string
Previously this was a little tricky to read and had the potential to
cause some ambiguity in string parsing.
2021-10-05 17:07:44 +10:00
Naïm Favier
2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
mitchmindtree
a539a82707 nixos/nextcloud: Account for nix_read_secret refactor in exception msg
Previously, the `nix_read_pwd` function was only used for reading the
`dbpassFile`, however it has since been refactored to handle reading
other secret files too. This fixes the message of the exception that is
thrown in the case that the file is not present so that it no longer
refers specifically to the `dbpass` file.
2021-10-03 17:29:13 +10:00
mitchmindtree
fbffaddefe nixos/nextcloud: Make objectstore.s3.useSsl explicitly true by default
This appears to match the nextcloud default behaviour observed here:

e2116e2fb2/lib/private/Files/ObjectStore/S3ConnectionTrait.php (L83)
2021-10-03 16:38:56 +10:00
mitchmindtree
b23d6a4113 nixos/nextcloud: Simplify objectstore.s3 options, remove submodule
Removes the submodule in favour of using an attrset.

Also:

- Makes better use of nix's laziness in config expansion.
- Makes use of `boolToString` where applicable.
2021-10-03 16:38:03 +10:00
mitchmindtree
03171ae31a nixos/nextcloud: Remove objectstore.s3.secret option
We should discourage users from adding secrets in a way that allows for
them to end up in the globally readable `/nix/store`. Users should use
the `objectstore.s3.secretFile` option instead.
2021-10-03 12:52:13 +10:00
mitchmindtree
1ed93ac4a1 nixos/nextcloud: Add option for using object storage as primary storage
This allows to declaratively configure an S3 class object storage as the
primary storage for the nextcloud service. Previously, this could only
be achieved by manually editing the `config.php`.

I've started testing this today with my own digitalocean nextcloud
instance, which now points to my digitalocean S3-compatible "Space" and
all appears to be working smoothly.

My motivation for this change is my recent discovery of how much cheaper
some S3-compatible object storage options are compared to digitalocean's
"Volume" options.

Implementation follows the "Simple Storage Service" instructions here:

https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html

I have neglected to implement a submodule for the OpenStack Swift
object storage as I don't personally have a use case for it or a method
to test it, however the new `nextcloud.objectstore.s3` submodule should
act as a useful guide for anyone who does wish to implement it.
2021-10-03 12:52:06 +10:00
Maximilian Bosch
cdb48d75c0
Merge pull request #140159 from Ma27/nextcloud-misc
nextcloud: misc changes
2021-10-01 21:08:31 +02:00
Maximilian Bosch
66edc1e846
nixos/nextcloud: use php8 where possible 2021-10-01 17:03:09 +02:00
Maximilian Bosch
675e262f5a
nixos/nextcloud: temp fix for MariaDB >=10.6
The MariaDB version 10.6 doesn't seem supported with current Nextcloud
versions and the test fails with the following error[1]:

    nextcloud # [   14.950034] nextcloud-setup-start[1001]: Error while trying to initialise the database: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.

According to a support-thread in upstream's Discourse[2] this is because
of a missing support so far.

Considering that we haven't received any bugreports so far - even though
the issue already exists on master - and the workaround[3] appears to
work fine, an evaluation warning for administrators should be
sufficient.

[1] https://hydra.nixos.org/build/155015223
[2] https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/15
[3] setting `innodb_read_only_compressed=0`
2021-10-01 15:25:31 +02:00
happysalada
8346dc04b3 pict-rs: add initial module 2021-09-30 21:32:25 +09:00
Flakebi
6ca43a69cc
dex-oidc: add module 2021-09-25 13:12:51 +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
embr
023239912c nixos/mastodon: Add configurable web- and streaming concurrency
Might as well do this while I'm at it.
2021-09-21 16:35:17 +02:00
embr
8c1e6a8598 nixos/mastodon: Fix sidekiq's DB_POOL, add configurable concurrency
The `services.mastodon` module currently hardcodes sidekiq's concurrency
to 25, but doesn't set a DB pool size, which defaults to 5 or the number
of configured web threads.

(This behaviour is very strange, and arguably a mastodon bug.)

This also makes sidekiq's concurrency configurable, because 25 is a tad
high for the hardware I'm running it on.
2021-09-21 16:35:17 +02:00
Jonas Heinrich
0dcac759f2 nixos/dokuwiki: Add support for Caddy web server 2021-09-18 23:09:21 +09:00
Jonas Heinrich
38431cf21c nixos/wordpress: caddy support 2021-09-17 19:12:21 +09:00
Guillaume Girol
3592034595
Merge pull request #133166 from symphorien/nonogroup
Don't default to nogroup for the primary group of users.
2021-09-13 18:29:21 +00:00
Guillaume Girol
bc3bca822a nixos: define the primary group of users where needed 2021-09-12 14:59:30 +02:00
Maximilian Bosch
9a52aeacc1
Merge pull request #135958 from Ma27/nextcloud-upgrade-not-found
nixos/nextcloud: add some notes for `Error: Command "upgrade" is not defined.`
2021-08-31 20:49:49 +02:00
Maximilian Bosch
767bb4e4bb
nixos/nextcloud: apply doc fixes suggested by fabaff
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2021-08-31 17:57:40 +02:00
Guillaume Girol
c988c752bb
Merge pull request #133133 from symphorien/tt-rss-read-only
nixos/tt-rss: make all php files read only
2021-08-29 11:33:25 +00:00
Maximilian Bosch
561418f996
nixos/nextcloud: add some notes for Error: Command "upgrade" is not defined.
This error occurs if `nextcloud-occ maintenance:install` fails and the
`upgrade` command is attempted to be executed afterwards.

Due to the nature of the installer we can't do much about it, so I guess
it makes sense to add some notes about it. The other notes in the
`Pitfalls`-section are semantically a list of different topics, so I
changed that accordingly now.

Closes #111175
2021-08-27 22:36:45 +02:00
Maximilian Bosch
eaeb4fe04e
nixos/nextcloud: remove invalid --database-table-prefix option
This doesn't work anymore and thus breaks the installation leaving a
broken `/var/lib/nextcloud`.

It isn't a big deal since we set this value in the override config
before, so the correct table-prefix is still used. In order to confirm
that, I decided to add a custom prefix to the basic test.
2021-08-27 20:21:25 +02:00
Van Tuan Vo
c8e3441961
nixos/fluidd: init fluidd service at 1.16.2 2021-08-21 23:32:52 +02:00
Finn Behrens
cc927c650b nixos/moodle: revert to php74 for xmlrpc extension 2021-08-18 19:05:48 +02:00
talyz
f8096460bd
discourse.plugins: Make the updater able to package plugins
Let the update.py script handle the initial, repetitive task of
packaging new plugins. With this in place, the plugin only needs to be
added to the list in `update-plugins` and most of the work will be
done automatically when the script is run. Metadata still needs to be
filled in manually and some packages may of course require additional
work/patching.
2021-08-17 18:21:15 +02:00
talyz
bb14315d51
discourse: Remove leftover link to unused plugins directory 2021-08-17 18:17:56 +02:00
Robert Hensing
fbafeb7ad5 treewide: runCommandNoCC -> runCommand
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
Benjamin Asbach
86296623c6 isso: added NixOS module to configure isso in NixOS 2021-08-09 17:42:54 -06:00
ajs124
2090318d75 nixos/jitsi-meet: add support for xmpp-websocket
instead of BOSH
2021-08-08 15:15:59 +02:00