summary refs log tree commit diff
path: root/nixos/modules/services
Commit message (Collapse)AuthorAge
* nixos/knot: allow full configuration by nix values (RFC 42)Vladimír Čunát2023-09-23
|
* Merge pull request #254071 from alois31/plasma-setuidK9002023-09-22
|\ | | | | nixos/plasma5: remove pointless setuid wrappers
| * nixos/plasma5: remove pointless setuid wrappersAlois Wohlschlager2023-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The module for Plasma 5 contained two pointless setuid wrappers: * kscreenlocker_greet was introduced when the kscreenlocker package dropped kcheckpass. However, this was actually replaced by making proper use of PAM (which finally calls its unix_chkpwd setuid binary). kscreenlocker_greet itself was never intended to be setuid. Fortunately, this is not exploitable, because QCoreApplication immediately aborts if it detects setuid. The wrapper is still incorrect and pointless, so remove it. * start_kdeinit can optionally use setuid root or setcap CAP_SYS_RESOURCE to reduce its OOM killer score. However, with systemd startup, start_kdeinit does not get used at all. So in this case, the setuid wrapper is pointless, and so is removed as well. Ideally, the case where systemd startup is not enabled would use a capability wrapper instead, but since systemd startup is the default in NixOS and kinit is deprecated upstream for KF6, I don't bother any more.
* | Merge pull request #165298 from danielfullmer/gdm-bannerArtturi2023-09-21
|\ \
| * | nixos/gdm: add banner optionDaniel Fullmer2023-09-19
| | | | | | | | | | | | | | | | | | This exposes the banner message option in GDM. Some computing environments have compliance requirements which include displaying a message to the user before logon.
* | | nixos/networkmanager: default firewallBackend to nftables, remove ↵Sandro Jäckel2023-09-21
| | | | | | | | | | | | | | | | | | | | | | | | firewallBackend Co-authored-by: Florian Klink <flokli@flokli.de> Co-authored-by: Lin Jian <me@linj.tech>
* | | nixos/networkmanager: cleanup, fix example renderingSandro Jäckel2023-09-21
| | |
* | | Merge pull request #256289 from Ma27/refactor-synapse-assertionsMartin Weinelt2023-09-21
|\ \ \ | | | | | | | | nixos/matrix-synapse: refactor assertions for missing listener resources
| * | | nixos/matrix-synapse: refactor assertions for missing listener resourcesMaximilian Bosch2023-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While reviewing other changes related to synapse I rediscovered the `lib.findFirst (...) (lib.last resources)` hack to find a listener supporting the `client` resource. We decided to keep it that way for now a while ago to avoid scope-creep on the RFC42 refactoring[1]. I wanted to take care of that and forgot about it. Anyways, I'm pretty sure that this is bogus: to register a user, you need the `client` API and not a random listener which happens to be the last one in the list. Also, you need something which serves the `client` API to have the entire synapse<->messenger interaction working (whereas `federation` is for synapse<->synapse). So I decided to error out if no `client` listener is found. A listener serving `client` can be defined in either the main synapse process or one of its workers via `services.matrix-synapse.workers`[2]. However it's generally nicer to use assertions for that because then it's possible to display multiple configuration errors at once and one doesn't have to chase one `throw` after another. I decided to also error out when using the result from `findFirst` though because module assertions aren't thrown necessarily when you evaluate a single config attribute, e.g. `config.environment.systemPackages` which depends on an existing client listener because of `registerNewMatrixUser`[3]. While at it I realized that if `settings.instance_map` is wrongly configured, e.g. by settings.instance_map = mkForce { /* no `main` in here */ } an `attribute ... missing` error will be thrown while evaluating the worker assertion. [1] https://github.com/NixOS/nixpkgs/pull/158605#discussion_r815500487 [2] This also means that `registerNewMatrixUser` will still work if you offload the entire `client` traffic to a worker. [3] And getting a useful error message is way better for debugging in such a case than `value is null while a set was expected`.
* | | | nixos/prometheus: fix blackbox exporterhexchen2023-09-21
| | | |
* | | | Merge pull request #251597 from wietsedv/calibre-webYorick2023-09-20
|\ \ \ \ | | | | | | | | | | nixos/calibre-web: add package and enableKepubify options
| * | | | nixos/calibre-web: add package and enableKepubify optionsWietse de Vries2023-08-27
| | | | |
* | | | | Merge pull request #254563 from raboof/prometheus-exporter-nextcloud-fixupArnout Engelen2023-09-20
|\ \ \ \ \ | | | | | | | | | | | | prometheus-exporter-nextcloud: require either tokenFile or passwordFile
| * | | | | prometheus-exporter-nextcloud: require either tokenFile or passwordFileArnout Engelen2023-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | follow-up on 28b3156bc6774f11e203151094bade34cba11fef which broke when tokenFile was left empty. Making both options nullable also allows us to provide a more meaningful error message when neither authentication method is configured.
* | | | | | Merge pull request #253687 from dotlambda/plausible-2.0.0Robert Schütz2023-09-20
|\ \ \ \ \ \ | | | | | | | | | | | | | | plausible: 1.4.4 -> 2.0.0
| * | | | | | plausible: 1.5.1 -> 2.0.0Robert Schütz2023-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changelog: https://github.com/plausible/analytics/blob/v2.0.0/CHANGELOG.md Co-authored-by: Kirill Radzikhovskyy <kirillrdy@gmail.com>
* | | | | | | Merge pull request #255064 from tomfitzhenry/vikunja-cliLin Jian2023-09-20
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | nixos/vikunja: install 'vikunja' CLI tool
| * | | | | | | nixos/vikunja: install 'vikunja' CLI toolTom Fitzhenry2023-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://vikunja.io/docs/cli/
* | | | | | | | nixos/frp: fix example url of configure filezaldnoay2023-09-20
| | | | | | | |
* | | | | | | | Merge pull request #255977 from nh2/vaultwarden-fix-default-config-evaluationNiklas Hambüchen2023-09-19
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | vaultwarden service: Fix doubly-nested `config` value. Fixes evaluation
| * | | | | | | nixos/vaultwarden: Fix doubly-nested `config` value. Fixes evaluationNiklas Hambüchen2023-09-19
| | | | | | | |
* | | | | | | | Merge pull request #241973 from 999eagle/feat/synapse-workersMaximilian Bosch2023-09-18
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | nixos/synapse: add support for workers, cleanup
| * | | | | | | nixos/synapse: make sure workers require main processSophie Tauchert2023-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should ensure systemd handles starting all services (main and workers) in a single transaction, thus preserving unit orderings defined through After= even when not restarting the target.
| * | | | | | | nixos/synapse: add documentation for required reverse proxy setupSophie Tauchert2023-09-18
| | | | | | | |
| * | | | | | | nixos/synapse: default tls to off for workers and document worker ↵Sophie Tauchert2023-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | replication port
| * | | | | | | nixos/synapse: simplify replication listener assertionSophie Tauchert2023-09-18
| | | | | | | |
| * | | | | | | nixos/synapse: move services.matrix-synapse.workers.config to ↵Sophie Tauchert2023-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | services.matrix-synapse.workers
| * | | | | | | nixos/synapse: automatically configure logging for synapse and workersSophie Tauchert2023-09-18
| | | | | | | |
| * | | | | | | nixos/synapse: remove obsolete log contextSophie Tauchert2023-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | see https://github.com/matrix-org/synapse/commit/0304ad0c3d79e44e78f9658e71f1e1533e3aa4e2 for when this was removed upstream
| * | | | | | | nixos/synapse: document options betterSophie Tauchert2023-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Daniel Olsen <daniel.olsen99@gmail.com>
| * | | | | | | nixos/synapse: automatically configure replication listenerSophie Tauchert2023-09-18
| | | | | | | |
| * | | | | | | nixos/synapse: add options to configure workersSophie Tauchert2023-09-18
| | | | | | | |
| * | | | | | | nixos/synapse: add option to configure redis automaticallySophie Tauchert2023-09-18
| | | | | | | |
| * | | | | | | nixos/synapse: update listener settingsSophie Tauchert2023-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The resource type health is currently missing, but should be available according to https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#listeners
| * | | | | | | nixos/synapse: cleanup, split out listener type and service configSophie Tauchert2023-09-18
| | | | | | | |
* | | | | | | | Merge pull request #255264 from emilylange/nixos/caddyLin Jian2023-09-18
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | nixos/caddy: ensure vhosts come after user-specified `cfg.extraConfig`
| * | | | | | | | nixos/caddy: ensure vhosts come after user-specified `cfg.extraConfig`emilylange2023-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This solves an issue, where loading the nixos-unstable module in nixos-stable using `disabledModules` and `imports` resulted in the following Caddyfile: ``` <globalConfig> <vhosts> <extraConfig> ``` instead of ``` <globalConfig> <extraConfig> <vhosts> ``` This is important in cases where `cfg.extraConfig` contains so called Caddyfile snippets. See https://caddyserver.com/docs/caddyfile/concepts#structure Co-authored-by: Lin Jian <me@linj.tech>
* | | | | | | | | Merge pull request #255179 from Ma27/rm-grafana-migration-errorMaximilian Bosch2023-09-17
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | nixos/grafana: remove hacky deprecation helper from dashbaords & datasources
| * | | | | | | | nixos/grafana: remove hacky deprecation helper from dashbaords & datasourcesMaximilian Bosch2023-09-14
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem we had back then was that `mkRenamedOptionModule` doesn't work if an option will be moved a level depper, i.e. services.grafana.provision.dashboards became services.grafana.provision.dashboards.settings.provider I actually planned to remove this before 23.05 (since the change was already released in 22.11), but as you can see that didn't happen ;-) I think the grace-period was quite long already. And if someone is migrating from <22.11 to a current NixOS now, there are very precise instructions on how to upgrade in the 22.11 release notes.
* | | | | | | | nixos/frp: initzaldnoay2023-09-17
| | | | | | | |
* | | | | | | | Merge pull request #255145 from BuonHobo/patch-1Fabián Heredia Montiel2023-09-16
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | jellyfin: Start service after network is up
| * | | | | | | | Jellyfin service starts after network-online.targetAlex2023-09-14
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To those who use Jellyfin's DLNA server, it can happen that the DLNA server starts before we are connected to the LAN. When this happens, Jellyfin only publishes the DLNA server on the local ports and is not discoverable by devices in the LAN. In order to fix this, I'm ensuring that Jellyfin starts after we are connected to the network, making it properly discoverable by DLNA clients. After making this change, Jellyfin's DLNA server is now working as expected on my machine. It used to be consistently undiscoverable. I verified that this doesn't break anything in situations where the LAN is not available: I disconnected my laptop from the network and rebooted it and Jellyfin started as expected. This change was informed by reading the suggestion in this article: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
* | | | | | | | Merge pull request #254306 from dotlambda/tedicross-dropRobert Schütz2023-09-15
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | nodePackages.tedicross: drop
| * | | | | | | | nodePackages.tedicross: dropRobert Schütz2023-09-13
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It fails to build with npm ERR! code 1 npm ERR! path /nix/store/n7sdkr41nax0mn8drh3lxymqbmrradi4-tedicross-0.8.7/lib/node_modules/tedicross/node_modules/sodium npm ERR! command failed npm ERR! command sh -c node install.js --preinstall npm ERR! Static libsodium was not found at /nix/store/n7sdkr41nax0mn8drh3lxymqbmrradi4-tedicross-0.8.7/lib/node_modules/tedicross/node_modules/sodium/deps/build/lib/libsodium so compiling libsodium from source. npm ERR! automake is required, but wasn't found on this system npm ERR! make: *** [Makefile:62: libsodium] Error 1 npm ERR! /nix/store/n7sdkr41nax0mn8drh3lxymqbmrradi4-tedicross-0.8.7/lib/node_modules/tedicross/node_modules/sodium/install.js:287 npm ERR! throw new Error(cmdLine + ' exited with code ' + code); npm ERR! ^ npm ERR! npm ERR! Error: make libsodium exited with code 2 npm ERR! at ChildProcess.<anonymous> (/nix/store/n7sdkr41nax0mn8drh3lxymqbmrradi4-tedicross-0.8.7/lib/node_modules/tedicross/node_modules/sodium/install.js:287:19) npm ERR! at ChildProcess.emit (node:events:514:28) npm ERR! at ChildProcess._handle.onexit (node:internal/child_process:291:12) npm ERR! npm ERR! Node.js v18.17.1
* | | | | | | | Merge pull request #255136 from Ma27/synapse-url-blacklist-typeMaximilian Bosch2023-09-15
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | nixos/matrix-synapse: fix type of `settings.url_preview_url_blacklist`
| * | | | | | | | nixos/matrix-synapse: fix type of `settings.url_preview_url_blacklist`Maximilian Bosch2023-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually, it's supposed to be `listOf (attrsOf str)` because each list-item can match against multiple properties from `urlsplit`[1]. In fact, `listOf str` breaks URL previews at runtime: Sep 14 15:03:47 soost synapse[1100355]: synapse.http.server: [GET-116] Failed handle request via 'PreviewUrlResource': <XForwardedForRequest at 0x7f691bd5f730 method='GET' uri='/_matrix/media/r0/preview_url?url=<redacted>' clientproto='HTTP/1.1' site='8448'> Traceback (most recent call last): [...] File "/nix/store/xk5yksbw09p6qwk0maq2cb2in3z6f4gn-matrix-synapse-1.91.2/lib/python3.10/site-packages/synapse/media/url_previewer.py", line 398, in _is_url_blocked for attrib, pattern in entry.items(): AttributeError: 'str' object has no attribute 'items' To make sure that people aren't confused when upgrading their configs, I decided to work with `types.coercedTo` to "pretend" accepting the old type signature, but then throwing an error explaining what to do (and rejecting the broken configuration). [1] https://docs.python.org/3/library/urllib.parse.html#urllib.parse.urlsplit
* | | | | | | | | Merge pull request #255250 from thillux/frr-9.0.1Martin Weinelt2023-09-15
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | frr: 8.5.2 -> 9.0.1
| * | | | | | | | | nixos/frr: add mgmtd to service listMarkus Theil2023-09-15
| | |_|_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mgmtd is a new service in frr >= 9.0. Signed-off-by: Markus Theil <theil.markus@gmail.com>
* | | | | | | | | Merge pull request #254922 from nbraud/nixos/maintainer-nicooMaciej Krüger2023-09-15
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | nixos/auto-cpufreq: Add nicoo to maintainersnicoo2023-09-13
| | | | | | | | |