Commit Graph

505 Commits

Author SHA1 Message Date
Alyssa Ross
18f2be2e56 nixos/public-inbox: require that URL be non-empty
public-inbox-init doesn't work if passed an empty URL.
2023-06-17 07:57:27 +00:00
Pol Dellaiera
7907dd9d6b
Merge pull request #235924 from Stunkymonkey/remove-then-{}
treewide: use lib.optionalAttrs instead of 'then {}'
2023-06-13 20:14:58 +02:00
Felix Buehler
ed3b102d1e treewide: use use lib.optionalAttrs instead of 'then {}' 2023-06-06 22:54:31 +02:00
pacien
54be076ae7 nixos/exim: apply privilege restrictions
Since 816614bd62, the service is set to use the exim user so that
systemd takes care of the credentials ownership. The executable is
still required to run as root, to then drop privileges. The prefix '+'
that was used however interfers with the use of privilege restrictions
and other sandboxing options. Since we only want to escape the "User"
setting, we can use the '!' prefix instead.
2023-06-05 20:04:48 +02:00
Julien Moutinho
b6ed3b8f40 nixos/public-inbox: explicit a few more freeform settings 2023-06-04 13:09:28 +00:00
Jonas Heinrich
63f73b3295
nixos/maddy: change secrets option to accept a list of paths 2023-05-30 12:41:07 +08:00
figsoda
701bcdbead nixos: fix typos 2023-05-19 22:31:04 -04:00
Alyssa Ross
7ddca49451 nixos/mailman: set RemainAfterExit for settings
This seems to be required to have the unit re-run if
services.mailman.restApiPassFile gets set.
2023-05-19 12:03:41 +02:00
Alyssa Ross
43465c94d4 nixos/mailman: randomly generate REST API token 2023-05-19 12:03:41 +02:00
Jonas Heinrich
8a4f016281 nixos/maddy: tls.loader add acme support, add secrets option 2023-05-15 15:00:16 -04:00
Jonas Heinrich
d932d6929b
Merge pull request #227401 from onny/maddytls2
nixos/maddy: Add tls option
2023-05-02 07:32:56 +02:00
Jonas Heinrich
616ba4ae5c nixos/maddy: Add tls option 2023-05-01 19:12:26 +02:00
Andreas Brinner
9d5dba7170 nixos/roundcube: read only first line of password file
Only read the first line of the password file, if has multiple lines.
Mention that behaviour in options documentation.
2023-04-23 21:05:48 +02:00
Andreas Brinner
78fb35ce39 nixos/roundcube: extend documentation for passwordFile
The passwordFile must be formatted correctly. Added some information
about how the file content should look like.
2023-04-23 14:05:40 +02:00
Andreas Brinner
279eeae178 nixos/roundcube: fix roundcube-setup start
When using Roundcube with a non local PostgreSQL database wait for
network start before running roundcube-setup.service
Otherwise the database is not reachable and the service fails.
2023-04-23 13:11:28 +02:00
Andreas Brinner
2af4a9bc09 nixos/roundcube: fix PostgreSQL password
Extract PostgreSQL database password for Roundcube from .pgpass file.
The password file is used in two locations:

  1. in the Roundcube config.php
  2. in the systemd setup service that initializes the roundcube
     database

These two services need the password in different formats.

Keep the password file in PostgreSQL standard format and extract the
password for the Roundcube config (see #215986).
2023-04-23 13:11:28 +02:00
Artturi
b83db86a9e
Merge pull request #222080 from Stunkymonkey/nixos-optionalString 2023-04-20 16:07:30 +03:00
Ryan Lahfa
b914dffe7e
Merge pull request #224494 from LeSuisse/roundcube-php81
nixos/roundcube: use PHP 8.1
2023-04-15 22:12:31 +02:00
Jonas Heinrich
86a685ceb1 nixos/maddy: Add option ensureCredentials 2023-04-13 09:36:54 -04:00
Felix Buehler
327b0cff7a treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
Thomas Gerbet
188573bf93 nixos/roundcube: use PHP 8.1
Roundcube has announced support of PHP 8.1 in the 1.6.0

https://github.com/roundcube/roundcubemail/releases/tag/1.6.0
2023-04-03 18:21:35 +02:00
ettom
a375b000a6 nixos/zeyple: init 2023-03-21 00:14:03 +02:00
Izorkin
6263c45580
nixos/roundcube: add tmp directory 2023-03-17 19:40:23 +03:00
Luke Granger-Brown
f43347d8a3
Merge pull request #214346 from SFrijters/postfix-ipv4
nixos/postfix: restrict inet_protocols to ipv4 when ipv6 is disabled
2023-02-27 18:24:53 +00:00
Jonas Heinrich
13ff144c70 nixos/maddy: Add option ensureAccounts 2023-02-17 17:42:27 -05:00
pennae
bf4c0c1900 nixos/*: remove trailing period in mkEnableOptions
those are added by mkEnableOption, and .. is replaced to … by markdown
processing.
2023-02-08 15:23:34 +01:00
paumr
9d4fdb9685 nixos/roundcube: fixed nginx configuration
the changes are required for oauth setups,
and are based on:
https://github.com/roundcube/roundcubemail/issues/8191#issuecomment-919850328
2023-02-06 18:11:42 +01:00
Stefan Frijters
11fa179533
nixos/postfix: restrict inet_protocols to ipv4 when ipv6 is disabled
In the previous state, postfix would still try to use IPv6 addresses,
even when it is disabled in the global networking config.

Cf. https://www.postfix.org/postconf.5.html:

  With Postfix 2.8 and earlier the default is "ipv4". For backwards compatibility with these releases,
  the Postfix 2.9 and later upgrade procedure appends an explicit "inet_protocols = ipv4" setting to
  main.cf when no explicit setting is present.
  This compatibility workaround will be phased out as IPv6 deployment becomes more common.

  inet_protocols = ipv4
  inet_protocols = all (DEFAULT)
  inet_protocols = ipv6
  inet_protocols = ipv4, ipv6

So setting it to 'all' conditionally does not help, as we are now on version 3.x.
2023-02-03 11:29:24 +01:00
pennae
0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
Bruno Inec
dbbb062d47
Apply suggestion
Co-authored-by: Aaron Andersen <aaron@fosslib.net>
2023-01-20 14:39:35 +01:00
Bruno Inec
edb6b10966
add warning if not using password_file 2023-01-20 00:39:34 +01:00
Bruno Inec
5edf9bd76f
Apply suggestion
Co-authored-by: Aaron Andersen <aaron@fosslib.net>
2023-01-20 00:39:34 +01:00
Bruno Inec
15414ff8e1
databaseDirectory -> StateDir and changed description 2023-01-20 00:39:33 +01:00
Bruno Inec
8f10857af4
let systemd handle /var/lib/goeland creation 2023-01-20 00:39:32 +01:00
Bruno Inec
988feead01
nixos/goeland: init 2023-01-20 00:39:31 +01:00
pennae
53fc887582 nixos/manual: move "edit the MD file" comments to generated XML 2023-01-10 12:34:37 +01:00
pennae
bf92eaebe4 nixos/manual: generate module chapters with md-to-db.sh 2023-01-10 10:32:00 +01:00
pennae
23ea73b416 nixos/manual: enable smart quotes for all MD chapters 2023-01-10 10:31:59 +01:00
pennae
5320b4cff8 nixos/mailman: convert manual chapter to MD 2023-01-10 10:31:56 +01:00
pennae
0715ecf936 nixos/manual: normalize <programlisting>
makes sure that program listing tags are separated from their contents
by exactly a newline character. this makes the markdown translation
easier to verify (since no new newlines need to be inserted), and
there's no rendering difference anyway.
2023-01-10 10:31:52 +01:00
pennae
80a78f2e1e nixos/manual: remove links from program listings
markdown cannot represent those links. remove them all now instead of in
each chapter conversion to keep the diff for each chapter small and more
understandable.
2023-01-10 10:31:52 +01:00
Robin Gloster
271c20dd40
Merge pull request #209022 from mayflower/fix-mailman-hyperkitty-css
nixos/mailman: fix hyperkitty css/js when virtualRoot is `/`
2023-01-05 17:29:08 +01:00
pennae
9da5f12ecf modules: add mkPackageOptionMD
another transitional option factory, like mkAliasOptionModuleMD.
2023-01-05 02:33:13 +01:00
Maximilian Bosch
05f6dd4dc6
nixos/mailman: fix hyperkitty css/js when virtualRoot is /
The `manage-script-name` / `mount` approach doesn't work if you don't
serve your instance behind e.g. `/lists`.
2023-01-04 11:59:27 +01:00
Sandro
1fc59dfbc7
Merge pull request #206102 from 4z3/exim-can-credentials 2022-12-28 20:53:22 +01:00
Vincent Ambo
aea521150d nixos/public-inbox: fix incorrectly restrictive option type
The `freeformType` of `settings.publicinbox` in this module prevented
users from setting settings on the `publicinbox` section itself (which
is necessary for making e.g. IMAP work correctly), and only allowed
configuration of nested per-inbox sections.

In general I believe that these overly specific types which are
traditional in NixOS, and this kind of config generation, are a huge
footgun. This commit is the least invasive change that makes the
module work correctly.
2022-12-25 16:45:58 +03:00
figsoda
6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Artturin
05a2dfd674 lib.replaceChars: warn about being a deprecated alias
replaceStrings has been in nix since 2015(nix 1.10)

so it is safe to remove the fallback

d6d5885c15
2022-12-15 22:25:51 +02:00
tv
816614bd62 nixos/exim: allow using service credentials
By settings User= to the actual Exim user, systemd will ensure that the
credentials directory will have the correct ownership, allowing users to
utilize LoadCredential=.  Exim still gets started as root (and drops
privileges) to preserve the previous behavior.
2022-12-14 16:43:46 +01:00
Maximilian Bosch
367897a68b
nixos/mailman: remove trailing slash from /static location
Otherwise HTTP routes such as `/static/django-mailman3/css/main.css`
will cause a 404.
2022-12-03 13:03:26 +01:00