···18181919- [wayfire](https://wayfire.org), A modular and extensible wayland compositor. Available as [programs.wayfire](#opt-programs.wayfire.enable).
20202121+- [mautrix-whatsapp](https://docs.mau.fi/bridges/go/whatsapp/index.html) A Matrix-WhatsApp puppeting bridge
2222+2123- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable).
22242325- [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable).
···142142 default = config.services.nextcloud.home;
143143 defaultText = literalExpression "config.services.nextcloud.home";
144144 description = lib.mdDoc ''
145145- Data storage path of nextcloud. Will be [](#opt-services.nextcloud.home) by default.
146146- This folder will be populated with a config.php and data folder which contains the state of the instance (excl the database).";
145145+ Nextcloud's data storage path. Will be [](#opt-services.nextcloud.home) by default.
146146+ This folder will be populated with a config.php file and a data folder which contains the state of the instance (excluding the database).";
147147 '';
148148 example = "/mnt/nextcloud-file";
149149 };
···176176 type = types.bool;
177177 default = true;
178178 description = lib.mdDoc ''
179179- Automatically enable the apps in [](#opt-services.nextcloud.extraApps) every time nextcloud starts.
180180- If set to false, apps need to be enabled in the Nextcloud user interface or with nextcloud-occ app:enable.
179179+ Automatically enable the apps in [](#opt-services.nextcloud.extraApps) every time Nextcloud starts.
180180+ If set to false, apps need to be enabled in the Nextcloud web user interface or with `nextcloud-occ app:enable`.
181181 '';
182182 };
183183 appstoreEnable = mkOption {
···185185 default = null;
186186 example = true;
187187 description = lib.mdDoc ''
188188- Allow the installation of apps and app updates from the store.
188188+ Allow the installation and updating of apps from the Nextcloud appstore.
189189 Enabled by default unless there are packages in [](#opt-services.nextcloud.extraApps).
190190- Set to true to force enable the store even if [](#opt-services.nextcloud.extraApps) is used.
191191- Set to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
190190+ Set this to true to force enable the store even if [](#opt-services.nextcloud.extraApps) is used.
191191+ Set this to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
192192 '';
193193 };
194194 logLevel = mkOption {
195195 type = types.ints.between 0 4;
196196 default = 2;
197197- description = lib.mdDoc "Log level value between 0 (DEBUG) and 4 (FATAL).";
197197+ description = lib.mdDoc ''
198198+ Log level value between 0 (DEBUG) and 4 (FATAL).
199199+200200+ - 0 (debug): Log all activity.
201201+202202+ - 1 (info): Log activity such as user logins and file activities, plus warnings, errors, and fatal errors.
203203+204204+ - 2 (warn): Log successful operations, as well as warnings of potential problems, errors and fatal errors.
205205+206206+ - 3 (error): Log failed operations and fatal errors.
207207+208208+ - 4 (fatal): Log only fatal errors that cause the server to stop.
209209+ '';
198210 };
199211 logType = mkOption {
200212 type = types.enum [ "errorlog" "file" "syslog" "systemd" ];
···208220 https = mkOption {
209221 type = types.bool;
210222 default = false;
211211- description = lib.mdDoc "Use https for generated links.";
223223+ description = lib.mdDoc "Use HTTPS for generated links.";
212224 };
213225 package = mkOption {
214226 type = types.package;
···228240 default = "512M";
229241 type = types.str;
230242 description = lib.mdDoc ''
231231- Defines the upload limit for files. This changes the relevant options
243243+ The upload limit for files. This changes the relevant options
232244 in php.ini and nginx if enabled.
233245 '';
234246 };
···257269 default = all: [];
258270 defaultText = literalExpression "all: []";
259271 description = lib.mdDoc ''
260260- Additional PHP extensions to use for nextcloud.
261261- By default, only extensions necessary for a vanilla nextcloud installation are enabled,
272272+ Additional PHP extensions to use for Nextcloud.
273273+ By default, only extensions necessary for a vanilla Nextcloud installation are enabled,
262274 but you may choose from the list of available extensions and add further ones.
263263- This is sometimes necessary to be able to install a certain nextcloud app that has additional requirements.
275275+ This is sometimes necessary to be able to install a certain Nextcloud app that has additional requirements.
264276 '';
265277 example = literalExpression ''
266278 all: [ all.pdlib all.bz2 ]
···318330 type = types.nullOr types.lines;
319331 default = null;
320332 description = lib.mdDoc ''
321321- Options for nextcloud's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.
333333+ Options for Nextcloud's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.
322334 '';
323335 };
324336···336348 type = types.bool;
337349 default = false;
338350 description = lib.mdDoc ''
339339- Create the database and database user locally.
351351+ Whether to create the database and database user locally.
340352 '';
341353 };
342354···374386 else "localhost";
375387 defaultText = "localhost";
376388 description = lib.mdDoc ''
377377- Database host or socket path. Defaults to the correct unix socket
378378- instead if `services.nextcloud.database.createLocally` is true and
379379- `services.nextcloud.config.dbtype` is either `pgsql` or `mysql`.
389389+ Database host or socket path.
390390+ If [](#opt-services.nextcloud.database.createLocally) is true and
391391+ [](#opt-services.nextcloud.config.dbtype) is either `pgsql` or `mysql`,
392392+ defaults to the correct Unix socket instead.
380393 '';
381394 };
382395 dbport = mkOption {
···387400 dbtableprefix = mkOption {
388401 type = types.nullOr types.str;
389402 default = null;
390390- description = lib.mdDoc "Table prefix in Nextcloud database.";
403403+ description = lib.mdDoc "Table prefix in Nextcloud's database.";
391404 };
392405 adminuser = mkOption {
393406 type = types.str;
394407 default = "root";
395395- description = lib.mdDoc "Admin username.";
408408+ description = lib.mdDoc "Username for the admin account.";
396409 };
397410 adminpassFile = mkOption {
398411 type = types.str;
399412 description = lib.mdDoc ''
400413 The full path to a file that contains the admin's password. Must be
401414 readable by user `nextcloud`. The password is set only in the initial
402402- setup of nextcloud by the systemd `nextcloud-setup.service`.
415415+ setup of Nextcloud by the systemd service `nextcloud-setup.service`.
403416 '';
404417 };
405418···407420 type = types.listOf types.str;
408421 default = [];
409422 description = lib.mdDoc ''
410410- Trusted domains, from which the nextcloud installation will be
423423+ Trusted domains from which the Nextcloud installation will be
411424 accessible. You don't need to add
412425 `services.nextcloud.hostname` here.
413426 '';
···417430 type = types.listOf types.str;
418431 default = [];
419432 description = lib.mdDoc ''
420420- Trusted proxies, to provide if the nextcloud installation is being
421421- proxied to secure against e.g. spoofing.
433433+ Trusted proxies to provide if the Nextcloud installation is being
434434+ proxied to secure against, e.g. spoofing.
422435 '';
423436 };
424437···428441 example = "https";
429442430443 description = lib.mdDoc ''
431431- Force Nextcloud to always use HTTPS i.e. for link generation. Nextcloud
432432- uses the currently used protocol by default, but when behind a reverse-proxy,
433433- it may use `http` for everything although Nextcloud
434434- may be served via HTTPS.
444444+ Force Nextcloud to always use HTTP or HTTPS i.e. for link generation.
445445+ Nextcloud uses the currently used protocol by default, but when
446446+ behind a reverse-proxy, it may use `http` for everything although
447447+ Nextcloud may be served via HTTPS.
435448 '';
436449 };
437450···440453 type = types.nullOr types.str;
441454 example = "DE";
442455 description = lib.mdDoc ''
443443- ::: {.warning}
444444- This option exists since Nextcloud 21! If older versions are used,
445445- this will throw an eval-error!
446446- :::
456456+ An [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html)
457457+ country code which replaces automatic phone-number detection
458458+ without a country code.
447459448448- [ISO 3611-1](https://www.iso.org/iso-3166-country-codes.html)
449449- country codes for automatic phone-number detection without a country code.
450450-451451- With e.g. `DE` set, the `+49` can be omitted for
452452- phone-numbers.
460460+ As an example, with `DE` set as the default phone region,
461461+ the `+49` prefix can be omitted for phone numbers.
453462 '';
454463 };
455464···574583 default = config.services.nextcloud.notify_push.enable;
575584 defaultText = literalExpression "config.services.nextcloud.notify_push.enable";
576585 description = lib.mdDoc ''
577577- Whether to configure nextcloud to use the recommended redis settings for small instances.
586586+ Whether to configure Nextcloud to use the recommended Redis settings for small instances.
578587579588 ::: {.note}
580580- The `notify_push` app requires redis to be configured. If this option is turned off, this must be configured manually.
589589+ The `notify_push` app requires Redis to be configured. If this option is turned off, this must be configured manually.
581590 :::
582591 '';
583592 };
···614623 type = types.bool;
615624 default = false;
616625 description = lib.mdDoc ''
617617- Run regular auto update of all apps installed from the nextcloud app store.
626626+ Run a regular auto-update of all apps installed from the Nextcloud app store.
618627 '';
619628 };
620629 startAt = mkOption {
···661670 type = jsonFormat.type;
662671 default = {};
663672 description = lib.mdDoc ''
664664- Extra options which should be appended to nextcloud's config.php file.
673673+ Extra options which should be appended to Nextcloud's config.php file.
665674 '';
666675 example = literalExpression '' {
667676 redis = {
···678687 type = types.nullOr types.str;
679688 default = null;
680689 description = lib.mdDoc ''
681681- Secret options which will be appended to nextcloud's config.php file (written as JSON, in the same
690690+ Secret options which will be appended to Nextcloud's config.php file (written as JSON, in the same
682691 form as the [](#opt-services.nextcloud.extraOptions) option), for example
683692 `{"redis":{"password":"secret"}}`.
684693 '';
···712721 A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
713722714723 After nextcloud${toString major} is installed successfully, you can safely upgrade
715715- to ${toString (major + 1)}. The latest version available is nextcloud${toString latest}.
724724+ to ${toString (major + 1)}. The latest version available is Nextcloud${toString latest}.
716725717726 Please note that Nextcloud doesn't support upgrades across multiple major versions
718727 (i.e. an upgrade from 16 is possible to 17, but not 16 to 18).