Commit Graph

17240 Commits

Author SHA1 Message Date
William McKinnon
869fb56797 nixos/syncthing: respect the dataDir option
The previous -home argument worked as such:
"Set common configuration and data directory. The default configuration directory is $HOME/.config/syncthing (Unix-like), $HOME/Library/Application Support/Syncthing (Mac) and %LOCALAPPDATA%\Syncthing (Windows)"

This resulted in syncthing not respecting different home and data dirs
declared in its config. The default behaviour will remain the same, as
we set the datadir default value to homeDir + .config/syncthing.
2023-11-17 22:58:46 +01:00
Julien Malka
cac11727b3
Merge pull request #227588 from camillemndn/jitsi-meet
nixos/jitsi-meet: updated prosody, support secure domain setup and Excalidraw whiteboards
2023-11-17 22:08:05 +01:00
Adam C. Stephens
4b8d7d814e
Merge pull request #265556 from adamcstephens/slimserver/fix
slimserver: fix broken package
2023-11-17 15:47:26 -05:00
Ryan Lahfa
ccfe07c316
Merge pull request #266270 from Ma27/postgresql-ownership-15 2023-11-17 18:02:17 +01:00
Herwig Hochleitner
e7c7d97167
nixos/postgresql: document psql 15 changes (#267238)
* nixos/postgresql: document psql 15 changes

* nixos/postgresql: manual heading ids

* nixos/postgresql: reword warning against initialScript

Co-authored-by: Ryan Lahfa <masterancpp@gmail.com>

* nixos/postgresql: wording PERMISSIONS -> PRIVILEGES

Co-authored-by: Ryan Lahfa <masterancpp@gmail.com>

* nixos/postgresql: document intermediate oneshot / service user method

* nixos/postgresql/docs: clarify security benefits of `ensureDBOwnership`

* nixos/postgresql/docs: service type -> serviceConfig.Type

---------

Co-authored-by: Ryan Lahfa <masterancpp@gmail.com>
2023-11-17 16:06:01 +01:00
Herwig Hochleitner
20832d5995
nixos/forgejo: changelog and migration instructions (#267248)
* nixos/forgejo: changelog and migration instructions

* nixos/forgejo/docs: clarify sentence

Co-authored-by: Trolli Schmittlauch <schmittlauch@users.noreply.github.com>

* nixos/forgejo/docs: document migration via gitea impersonation

* nixos/forgejo/docs: note about url change on migration

* nixos/forgejo/docs: note about migration (non-)requirement

* nixos/forgejo/docs: header ids

* nixos/forgejo/docs: clarify release notes entry

Co-authored-by: Emily <git@emilylange.de>

* nixos/forgejo/docs: improve manual entry

Co-authored-by: Emily <git@emilylange.de>

* nixos/forgejo/docs: move changelog line to the middle of the section

as noted <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

---------

Co-authored-by: Trolli Schmittlauch <schmittlauch@users.noreply.github.com>
Co-authored-by: Emily <git@emilylange.de>
2023-11-17 15:55:24 +01:00
Raito Bezarius
10baca4935 nixos/invidious: do not use ensureDBOwnership
Invidious uses a strange setup where the database name is different from the system username
for non-explicit reasons.

Because of that, it makes it hard to migrate it to use `ensureDBOwnership`, we leave it to Invidious' maintainers
to pick up the pieces.
2023-11-17 15:53:08 +01:00
Raito Bezarius
f653734c4d nixos/mobilizon: do not use ensureDBOwnership
Mobilizon can have a custom database username and it is not trivial to sort out how to remove this.

In the meantime, for the upcoming 23.11 release, I apply the classical workaround
and defer to Mobilizon's maintainers.
2023-11-17 15:52:51 +01:00
Raito Bezarius
7cd63bff21 nixos/sourcehut: do not use ensureDBOwnership
Given that SourceHut uses unfortunate defaults for database name, it will not
be realistic to fix this in time for 23.11.

We will leave the workaround and leave it to SourceHut maintainers to pick up the work
to clean this up after 23.11.
2023-11-17 15:52:51 +01:00
Adam Stephens
431b9f23ad
slimserver: add bin symlink and meta.mainProgram 2023-11-17 08:18:32 -05:00
Ilan Joselevich
d7e7a2136e
Merge pull request #267761 from jpds/grafana-restart-on-failure
nixos/grafana: Set systemd unit to restart on failure
2023-11-17 00:59:25 +00:00
github-actions[bot]
dba5c9ef4e
Merge master into staging-next 2023-11-16 18:01:17 +00:00
Pol Dellaiera
3acc2484cf
Merge pull request #267560 from anthonyroussel/bugfix/plantuml-server-nixos
nixos/plantuml-server: fix
2023-11-16 18:32:44 +01:00
Kim Lindberger
9c4df4d618
Merge pull request #246992 from cransom/cransom-parsedmarc-smtp
nixos/parsedmarc: fix validation for smtp
2023-11-16 15:06:20 +01:00
github-actions[bot]
301fcc69ba
Merge master into staging-next 2023-11-16 12:01:02 +00:00
Sarah Brofeldt
54f00576aa
Merge pull request #265193 from 0z13/opensearch-module-link-plugins
nixos/opensearch: link plugins from opensearch package
2023-11-16 11:30:09 +01:00
Vladimír Čunát
0fe5300699
Merge branch 'master' into staging-next 2023-11-16 09:49:24 +01:00
Lin Jian
bf8a6ad72c
Merge pull request #265733 from nbdd0121/unbound
nixos/unbound: fix wrong syscall filter and tighten sandbox
2023-11-16 14:38:46 +08:00
Jonathan Davies
58cbf94b38 nixos/grafana: Set systemd unit to restart on failure 2023-11-15 23:20:59 +00:00
Adrian Pistol
7a1d45811e nixos/chrony: Let Chrony control/track RTC drift 2023-11-15 15:09:22 -06:00
Weijia Wang
1a85914512
Merge pull request #266528 from lucasbergman/unifi-jvmoptions
nixos/unifi: Add the ability to specify extra JVM options
2023-11-15 17:53:25 +01:00
Anthony Roussel
8c7c1e7a30
nixos/plantuml-server: remove deprecated allowPlantumlInclude option
See https://github.com/plantuml/plantuml-server/pull/301
2023-11-15 15:14:28 +01:00
Anthony Roussel
deae39af43
nixos/plantuml-server: use jetty_11
PlantUML Server does not support Jetty versions higher than 12.x.

Jetty 12.x has introduced major breaking changes, see
* https://github.com/jetty/jetty.project/releases/tag/jetty-12.0.0
* https://eclipse.dev/jetty/documentation/jetty-12/programming-guide/index.html#pg-migration-11-to-12
2023-11-15 15:14:28 +01:00
Anthony Roussel
2c94d267c2
nixos/plantuml-server: use mkPackageOptionMD 2023-11-15 15:12:58 +01:00
Anthony Roussel
3b17b80525
nixos/plantuml-server: add anthonyroussel to maintainers 2023-11-15 15:12:58 +01:00
Anthony Roussel
09e9d47508
nixos/plantuml-server: add hardening 2023-11-15 15:12:58 +01:00
Anthony Roussel
e3839eef71
nixos/plantuml-server: remove with lib; notation
https://nix.dev/guides/best-practices#with-scopes
2023-11-15 15:12:58 +01:00
Izorkin
63ed35dac4 nixos/mastodon: update elasticsearch configuration 2023-11-15 14:01:47 +01:00
Vladimír Čunát
c46eae0f35
Merge branch 'master' into staging-next 2023-11-15 07:33:10 +01:00
Ryan Lahfa
d983d6c863
Merge pull request #251950 from erictapen/mastodon 2023-11-15 01:46:50 +01:00
zzywysm
3f4c802d26 initrd/autofs4: remove legacy references to autofs4 kernel module
Back in 2018, the kernel decided to remove the autofs4 module.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a2225d931f75ddd3c39f4d0d195fad99dfd68671

This caused immediate problems with systemd, so the kernel allowed autofs4 as a config option that would simply map back to autofs.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d02d21ea007b6b33cdaf15c2f84fb1fea996ecc2

Earlier this year, in July 2023, the kernel got tired of people not adapting to the autofs change, and forced the issue by fixing it within the kernel defconfigs, which NixOS uses as a starting point for their own kernel configs.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1f2190d6b7112d22d3f8dfeca16a2f6a2f51444e

This commit reflects the post-2018 reality by changing the remaining autofs4 references to autofs. Since this change initially happened in kernel 4.18 and we no longer support 4.x kernels, we don't need any backwards-compatibility tweaks.
2023-11-14 15:37:50 -05:00
Kerstin Humm
c82195d9e8
mastodon: 4.1.6 -> 4.2.1
- run streaming processes in separate systemd services
- remove redundancy in test
- fix update script
- release notes

See https://github.com/mastodon/mastodon/releases/tag/v4.2.1 for details
2023-11-14 21:13:46 +01:00
Nathan Henrie
6c69d3c9ca nixos/navidrome: add openFirewall option
This adds an option to the navidrome module to open the configured TCP
port in the firewall.
2023-11-14 19:29:08 +01:00
Jonathan Zielinski
aca76b750d nixos/opensearch: link plugins from opensearch package
disable security module by default, it crashes unit expecting
certificates.
2023-11-14 14:00:30 +01:00
Martin Weinelt
3c336a1647
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts:
- pkgs/development/libraries/gdcm/default.nix
2023-11-14 13:16:34 +01:00
Niklas Hambüchen
f9c7c12de6
Merge pull request #266702 from nh2/plausible-listen-address-no-distributed-erlang
plausible, nixos/plausible: Add `listenAddress` option
2023-11-14 10:52:21 +01:00
Niklas Hambüchen
65a471717c plausible, nixos/plausible: Add listenAddress option.
This changes

* the plausible HTTP web server

to be listening on localhost only, explicitly.

This makes Plausible have an explicit safe default configuration,
like all other networked services in NixOS.

For background discussion, see: https://github.com/NixOS/nixpkgs/issues/130244

As per my upstream Plausible contribution
(https://github.com/plausible/analytics/pull/1190)
Plausible >= 1.5 also defaults to listening to localhost only;
nevertheless, this default should be stated explicitly in nixpkgs
for easier review and independence from upstream changes, and
a NixOS user must be able to configure the
`listenAddress`, as there are valid use cases for that.

Also, disable

* the Erlang Beam VM inter-node RPC port
* the Erlang EPMD port

because Plausible does not use them (see added comment).
This is done by setting `RELEASE_DISTRIBUTION=none`.

Thus, this commit also removes the NixOS setting `releaseCookiePath`,
because it now has no effect.
2023-11-14 10:51:16 +01:00
Jörg Thalheim
54fd866569 nixos/harmonia: set extra-allowed-users
This fixes the case where users enable harmonia but also have allowed-users set.
Having extra-allowed-users is a no-op when nix.settings.allowed-users is set to "*" (the default)
2023-11-14 10:37:39 +01:00
Silvan Mosberger
3e5bc28ec5
Merge pull request #266598 from infinisil/fix-fwupd
nixos/fwupd: Fix fwupd-refresh service
2023-11-14 08:56:25 +01:00
github-actions[bot]
6a7c026ba7
Merge master into staging-next 2023-11-14 06:01:03 +00:00
eyjhb
2387a37fa0 nixos/flexget: remove TZ envvar 2023-11-14 06:35:40 +01:00
github-actions[bot]
772c3bbbf5
Merge master into staging-next 2023-11-14 00:02:14 +00:00
Felix Bühler
f2fc5b4195
Merge pull request #265696 from Stunkymonkey/nixos-exportarr
nixos/exportarr: init
2023-11-13 22:58:32 +01:00
Fabián Heredia Montiel
884449105e Merge remote-tracking branch 'origin/master' into staging-next 2023-11-13 14:31:51 -06:00
Raito Bezarius
d57926c0b6 nixos/postgresql: improve the assertions for equality of DB user and DB name
It is hard to figure out which one is offending without the database name.
2023-11-13 17:16:25 +01:00
Raito Bezarius
12797a6a39 nixos/postgresql: restore ensurePermissions and strong-deprecate it
As it is technically a breaking change, we should at least make a strong deprecation
of `ensurePermissions` and leave it in the broken state it is, for out of tree users.

We give them a 6 months notice to migrate away by doing so, which is honest.
In the meantime, we forbid usage of `ensurePermissions` inside of nixpkgs.
2023-11-13 17:16:25 +01:00
Maximilian Bosch
48459567ae nixos/postgresql: drop ensurePermissions, fix ensureUsers for postgresql15
Closes #216989

First of all, a bit of context: in PostgreSQL, newly created users don't
have the CREATE privilege on the public schema of a database even with
`ALL PRIVILEGES` granted via `ensurePermissions` which is how most of
the DB users are currently set up "declaratively"[1]. This means e.g. a
freshly deployed Nextcloud service will break early because Nextcloud
itself cannot CREATE any tables in the public schema anymore.

The other issue here is that `ensurePermissions` is a mere hack. It's
effectively a mixture of SQL code (e.g. `DATABASE foo` is relying on how
a value is substituted in a query. You'd have to parse a subset of SQL
to actually know which object are permissions granted to for a user).

After analyzing the existing modules I realized that in every case with
a single exception[2] the UNIX system user is equal to the db user is
equal to the db name and I don't see a compelling reason why people
would change that in 99% of the cases. In fact, some modules would even
break if you'd change that because the declarations of the system user &
the db user are mixed up[3].

So I decided to go with something new which restricts the ways to use
`ensure*` options rather than expanding those[4]. Effectively this means
that

* The DB user _must_ be equal to the DB name.
* Permissions are granted via `ensureDBOwnerhip` for an attribute-set in
  `ensureUsers`. That way, the user is actually the owner and can
  perform `CREATE`.
* For such a postgres user, a database must be declared in
  `ensureDatabases`.

For anything else, a custom state management should be implemented. This
can either be `initialScript`, doing it manual, outside of the module or
by implementing proper state management for postgresql[5], but the
current state of `ensure*` isn't even declarative, but a convergent tool
which is what Nix actually claims to _not_ do.

Regarding existing setups: there are effectively two options:

* Leave everything as-is (assuming that system user == db user == db
  name): then the DB user will automatically become the DB owner and
  everything else stays the same.

* Drop the `createDatabase = true;` declarations: nothing will change
  because a removal of `ensure*` statements is ignored, so it doesn't
  matter at all whether this option is kept after the first deploy (and
  later on you'd usually restore from backups anyways).

  The DB user isn't the owner of the DB then, but for an existing setup
  this is irrelevant because CREATE on the public schema isn't revoked
  from existing users (only not granted for new users).

[1] not really declarative though because removals of these statements
    are simply ignored for instance: https://github.com/NixOS/nixpkgs/issues/206467
[2] `services.invidious`: I removed the `ensure*` part temporarily
    because it IMHO falls into the category "manage the state on your
    own" (see the commit message). See also
    https://github.com/NixOS/nixpkgs/pull/265857
[3] e.g. roundcube had `"DATABASE ${cfg.database.username}" = "ALL PRIVILEGES";`
[4] As opposed to other changes that are considered a potential fix, but
    also add more things like collation for DBs or passwords that are
    _never_ touched again when changing those.
[5] As suggested in e.g. https://github.com/NixOS/nixpkgs/issues/206467
2023-11-13 17:16:25 +01:00
Molly Miller
9cec5c807a nixos/mailman: restart services on failure and increase mailman timeouts 2023-11-13 16:10:55 +01:00
Jonas Heinrich
4f38dbab82
Merge pull request #266025 from onny/cups-firewall2
nixos/printing: Fix openFirewall option
2023-11-13 11:15:18 +01:00
dadada
f192930a79
nixos/soft-serve: fix typos in option descriptions 2023-11-12 22:34:54 +01:00