Commit graph

39420 commits

Author SHA1 Message Date
nikstur 9e0ac0c7e6 nixos/kexec: add enable option
It is still enabled by default but now you can actively exclude it if
you don't need it.
2025-08-10 22:43:34 +02:00
nikstur 898ebf78ef nixos/bash: re-introduce enable option 2025-08-10 22:43:28 +02:00
nikstur d5ae87bdeb
Revert "nixos: allow more things to be disabled" 2025-08-10 22:22:08 +02:00
André Lima 28d3245201
nixos/libvirtd: allow changing firewall backend 2025-08-10 21:06:54 +01:00
Ryan Lahfa c230381b25
nixos/test-instrumentation: use bash directly (#432290) 2025-08-10 20:17:13 +02:00
Arian van Putten 1bb040fae8
nixos: allow more things to be disabled (#429695) 2025-08-10 19:49:52 +02:00
Luke Granger-Brown 7f552ff771
tayga: 0.9.2 -> 0.9.5 (#432528) 2025-08-10 17:50:45 +02:00
Pol Dellaiera 4594192170
nixos/netbird: fix desktop file name pattern (#432535) 2025-08-10 17:18:12 +02:00
lassulus 5316ba88a5 nixos/prosody: remove erronous spaces in module names 2025-08-10 17:09:16 +02:00
Luke Granger-Brown 4548324aae nixos/tayga: add option to allow toggling WKPF strict compliance
The RFC requires that we don't allow access to non-global v4 addresses
using the well-known 64:ff9b:: prefix, but there are some deployments
where it's convenient to permit this.

To make this work in tests, disable wkpf-strictness via the config
option introduced in bc18503e2ff1ee48ac472a67ba982dae76a5c2d3.

Tayga added 100.64.0.0 to the set of WKPF in
4dff17ef61821f5bc1996ce687a3dc317fd4fa50.
2025-08-10 17:00:13 +02:00
Luke Granger-Brown b45ba94a0e nixos/tayga: add log option
This allows configuring logging in tayga, and enables it for the NixOS
test.
2025-08-10 16:37:42 +02:00
Florian Klink 73582e4158 nixos/tayga: fix config reload
Use a trampoline at /etc/tayga.conf for the config, so reload actually
picks up a changed config file.
2025-08-10 16:30:52 +02:00
Rohan Verma 4c2b315075 nixos/netbird: fix desktop file name pattern
The desktop file substitution was looking for 'Name=NetBird' but the
actual desktop file contains 'Name=Netbird' (with lowercase 'b').

Fixes #432454
2025-08-10 19:49:14 +05:30
Martin Weinelt 63c4ed7e64
nixseparatedebuginfod2: init package and module (#428845) 2025-08-10 15:46:23 +02:00
Martin Weinelt 43eb19bae2
nixos/frigate: validate config at build time (#429986) 2025-08-10 15:09:02 +02:00
Aliaksandr 9c013621d0
nixos/lomiri: remove unneded options, refactor
hardware.graphics and fonts.enableDefaultPackages was already enabled in
https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/graphical-desktop.nix
2025-08-10 15:33:51 +03:00
K900 aadb3e60ec
linux: remove mentions of extraStructuredConfig & throw error (#432497) 2025-08-10 15:16:42 +03:00
Maximilian Bosch dccb264578
linux: remove mentions of extraStructuredConfig & throw error
PR #431115 changed extraStructuredConfig to structuredExtraConfig to
follow the deprecation warning about `extraConfig`. However,
`extraStructuredConfig` was mentioned in several places in the docs that
weren't addressed. Also, using this would silently fail since the code
in question would still accept the old key.

This patch updates the docs accordingly and throws an error if the
code-path is reached and `extraStructuredConfig` is being used.
2025-08-10 14:10:50 +02:00
Jörg Thalheim 4940959d28
nixos/mediawiki: fix error from wfGetDB being removed (#427623) 2025-08-10 11:42:14 +02:00
lassulus cb771a25a1
jitsi-meet: fix infinite recursion with prosody package (#432371) 2025-08-10 09:34:49 +02:00
K900 fda8b43ed9 nixos/iso: enable partition-manager (for kpmcore) 2025-08-10 10:19:20 +03:00
K900 9d8582f561 nixos/partition-manager: switch to qt6 2025-08-10 10:19:20 +03:00
K900 fb7d7c5fe0 calamares: 3.3.13 -> 3.4.0, qt6-ize, clean up, move to by-name 2025-08-10 10:18:31 +03:00
Emily 46aad76001
nixos/iso-image: Support systemd initrd (#291750) 2025-08-10 05:37:48 +01:00
Martin Weinelt a0f387ae34
nixos/frigate: validate config at build time
Only in non-cross setups because we cannot infer the buildPackages
version of cfg.package when overridden.
2025-08-10 02:18:22 +02:00
Niklas Hambüchen 1c6b721b62 nixos/zigbee2mqtt: Update homeassistant setting
This is now no longer a top-level boolean:

* https://www.zigbee2mqtt.io/guide/configuration/homeassistant.html
* ae8965a058 (diff-aa9667dbf49ded55b85667093efbf5f706f30496292182850e7f94bb2e1e0774)
2025-08-10 02:01:12 +02:00
lassulus 804919a7f4 nixos/prosody: fix serialization error if httpFileShare is null 2025-08-10 01:03:49 +02:00
lassulus 6f224e65ea jitsi-meet: fix infinite recursion with prosody package 2025-08-10 00:23:58 +02:00
Sandro 29484ab654
nixos/zwave-js: allow non-world-readable secrets (#411496) 2025-08-09 21:53:14 +02:00
Morgan Jones 1dc3ecfc93
nixos/gdm: Add conffile to gdm-fingerprint (#424733) 2025-08-09 19:36:31 +00:00
Farid Zakaria 17b28eabbb nixos/gdm: Add conffile to gdm-fingerprint 2025-08-09 11:47:12 -07:00
Ryan Lahfa bcc20cad16
nixos/network-interfaces: let networkd handle privacy extensions (#431967) 2025-08-09 17:53:39 +02:00
nikstur 3ae9229600 nixos/test-instrumentation: use bash directly 2025-08-09 17:39:01 +02:00
nikstur 439d68b58d nixos/audit: fix journald test
Makes the audit module responsible for setting up the audit subsystem of
the kernel. The auditd module is now only responsible for setting up the
daemon.

Enable the audit subsystem early via kernelParams.

Increase the default audit backlog limit so that it works out of the box
for a normal system.

Remove a superfluous and pointless test case.
2025-08-09 15:00:41 +02:00
Elis Hirwing 465f689e63
treewide: Remove myself as a maintainer from most things 2025-08-09 08:41:25 +02:00
Yohann Boniface eeffb605af
nh: Delay clean service so it doesnt slow down boot (#431770) 2025-08-09 05:24:00 +02:00
nikstur bb954cddf5 nixos/network-interfaces: let networkd handle privacy extensions
This removes bash from the mandatory system closure.
2025-08-09 00:10:13 +02:00
Arian van Putten a009838396
nixos/filesystem: remove mount-pstore (#432049) 2025-08-08 21:36:03 +02:00
nikstur e9c71d971f nixos/filesystem: remove mount-pstore
Ever since fb49d81b25 we set
CONFIG_PSTORE=y in the config because we set CONIFG_ACPI_APEI=y in the
kernel. This means we always have pstore built right into the kernel.

systemd thus always mounts `/sys/fs/pstore` which makes our custom unit
superfluous and redudant.
2025-08-08 19:03:05 +02:00
Christian Theune 98ecc9035d nixos/acme: switch concurrency limit to a runtime-based implementation
The previous implementation caused triggers on many units when adding
or removing certificates because the baked-in lock file assignments
changed.
2025-08-08 16:28:57 +02:00
Christian Theune 2d0a489125 nixos/acme: improve scalability - reduce superfluous unit activations
The previous setup caused all renewal units to be triggered upon
ever so slight changes in config. In larger setups (100+ certificates)
adding a new certificate caused high system load and/or large memory
consumption issues. The memory issues are already a alleviated with
the locking mechanism. However, this then causes long delays upwards
of multiple minutes depending on individual runs and also caused
superfluous activations.

In this change we streamline the overall setup of units:

1. The unit that other services can depend upon is 'acme-{cert}.service'.
We call this the 'base unit'. As this one as `RemainAfterExit` set
the `acme-finished-{cert}` targets are not required any longer.

2. We now always generate initial self-signed certificates to simplify
the dependency structure. This deprecates the `preliminarySelfsigned`
option.

3. The `acme-order-renew-{cert}` service gets activated after the base
unit and services using certificates have started and performs all acme
interactions. When it finishes others services (like web servers) will
be notified through the `reloadServices` option or they can use
`wantedBy` and `after` dependencies if they implement their own reload
units.

The renewal timer also triggers this unit.

4. The timer unit is explicitly blocked from being started by s-t-c.

5. Permission management has been cleaned up a bit: there was an
   inconsistency between having the .lego files set to 600 vs 640
   on the exposed side. This is unified to 640 now.

6. Exempt the account target from being restarted by s-t-c. This will
   happen automatically if something relevant to the account changes.
2025-08-08 16:28:42 +02:00
GDBlaster bfa1933939 nh: Delay run on boot so clean service doesnt make the boot process wait for it
Fix formatting

Co-authored-by: Acid Bong <acidbong@tilde.club>

changed target to multi-user
2025-08-08 14:15:02 +02:00
Cosima Neidahl d593b747cd
nixos/lomiri: Replace NIX_GSETTINGS_OVERRIDES_DIR with Dconf database (#430212) 2025-08-08 12:25:03 +02:00
Krzysztof Nazarewski (kdn) c55a801cfe
nixos/netbird: clarify routing features & brand adjustments 2025-08-08 11:13:41 +02:00
Pol Dellaiera 7587a3c7a1
nixos/netbird: add useRoutingFeatures option (#431681) 2025-08-08 10:21:45 +02:00
Maximilian Bosch 3e41a080eb
Merge: nixos/nextcloud: configure redis by default (#421813) 2025-08-07 17:27:21 +02:00
Sandro e25c3a4a45
nixos/tailscale-derper: drop unused keepalive_timeout, bump proxy_rea… (#430791) in 2025-08-07 17:21:26 +02:00
Bobby Rong ef4edf25a2
Cinnamon updates 2025-08-06 (#431487) 2025-08-07 21:12:23 +08:00
Sandro d00a33c9df
nixos/dnsmasq: make dnsmasq --test actually test the config file (#426004) 2025-08-07 15:08:19 +02:00
Joachim Ernst f976e53564
nixos/oxidized: allow for providing config by other means
- especially usefull, when secrets are used in configFile
  and `replace-secret` or `scalpel` should be used
2025-08-07 14:26:35 +02:00
Naïm Camille Favier e4b933ddb4
nixos/resolveconf: not resetting package (#426557) 2025-08-07 13:42:58 +02:00
isabel 281eb01683
nixos/snips-sh: init (#390655) 2025-08-07 11:16:11 +01:00
Pol Dellaiera 8b5c57b674 nixos/netbird: add useRoutingFeatures option
Similar to what the NixOS Tailscale service has.
Hope this will help a bunch of users struggling to make the "exit node" feature working.
2025-08-07 10:10:53 +02:00
Florian Klink 9e087896d6
nixos/caddy: Make virtualHosts' logFormat optional (#392390) 2025-08-07 08:48:08 +02:00
liberodark a9cd681b8d nixos/ntpd-rs: hardening 2025-08-07 11:36:09 +05:30
Aaron Andersen 487e725463 php.services.default: init 2025-08-06 21:24:04 -04:00
superherointj 663f1d8ba2 nixos/modules/installer/sd-card: allow to customize volume label 2025-08-06 16:08:01 -03:00
Adam C. Stephens da4f70e2ad
kanidm_1_7: init at 1.7.1 (#430205) 2025-08-06 14:54:56 -04:00
Bobby Rong 2c551ea2d3
cinnamon: Renamed from cinnamon-common
This is the upstream project name.
2025-08-06 23:53:21 +08:00
Pol Dellaiera 539300c59c
nixos/open-webui: try to fix the database readonly issue (#431395) 2025-08-06 16:41:03 +02:00
Pol Dellaiera af749a3a10 nixos/open-webui: try to fix the database readonly issue
Co-authored-by: Tim <git.t@betsumei.com>
2025-08-06 16:01:48 +02:00
nikstur 6ee5596087
nixos/repart-verity-store: fix cross (#431431) 2025-08-06 14:09:52 +02:00
nikstur 1fc1fb2700
nixos/udev: use udevadm from buildPackages to fix cross (#431144) 2025-08-06 14:05:12 +02:00
isabel c2e35a75d3
greetd.*: move to 'pkgs/by-name', modernize (#427540) 2025-08-06 12:37:35 +01:00
secufoe 77aebee8ac nixos/repart-verity-store: fix cross 2025-08-06 13:36:36 +02:00
Seth Flynn 63ee94e6a3
nixos/tuned: enable upower with tuned-ppd (#431145) 2025-08-06 03:39:00 -04:00
Doron Behar cddd032189
nixos/i2pd: add ntcp2 options for ssu2 (#428035) 2025-08-06 09:22:26 +03:00
Sandro ef2f192da2
prosody: 0.12.4 -> 13.0.2, fix nixos test (#429967) 2025-08-06 00:16:29 +02:00
Wolfgang Walther d3caafc32f
nixos/doc/mailman: fix syntax in code block 2025-08-05 17:08:31 +02:00
Seth Flynn 8f2a71ff49
nixos/tuned: enable upower with tuned-ppd
Fixes: #431105
2025-08-05 07:47:24 -04:00
secufoe 98cbe96519 nixos/udev: use udevadm from buildPackages to fix cross 2025-08-05 12:21:09 +02:00
Stefan Frijters 81e8a2a5f3
nixos/postfix: tweak confusing migration suggestions 2025-08-05 10:26:48 +02:00
Stefan Frijters 0f63119209
nixos/postfix: fix typo in migration suggestion 2025-08-05 10:26:42 +02:00
Marcus Ramberg 97f10072a4
nixos/k3s: fix undefined variable error (#425690) 2025-08-05 07:24:29 +02:00
emilylange 4b038dfbab
nixos/{consul-template,vault-agent}: drop template sub-option
An HCL config can be represented as JSON in different ways and we forced
users to use a list of attrsets for `cfg.settings.template` prior to
this change.

Similarly, a user may opt to use `vault-agent` exclusively as auth-proxy
without any templates, which would result in `null` ending up in the
resulting JSON configuration and prevent `vault-agent` from starting.

A lot of NixOS modules opt to recursively filter out any `null` values
when hitting this, either by defining a function in `apply =` in
`cfg.settings` or in the `format.generate` call, but that comes with its
own set of downsides.

While I personally can't think of a use-case involving `consul-template`
 without templates, it does manage to start without one just fine and
`consul-template` is equally affected by our opinionated JSON
representation forced onto the user.

As such, we decided in favor of removing the option entirely in the
discussion leading up to this.

This is one of the 3 suggested implementations from issue 420208.
You can see the other 2 there too, if you are curious.

tl;dr: Non-breaking bug fix to allow using `vault-agent` without
templates and no longer forcing our opinionated JSON representation onto
the user.
2025-08-04 23:19:08 +02:00
Sandro Jäckel b5475346e2
nixos/tailscale-derper: drop unused keepalive_timeout, bump proxy_read_timeout to an hour
Otherwise derper reconnects every 60s which still works good enough but
spams the logs with lots of noise and it probably improves stability, too.
2025-08-04 20:03:15 +02:00
Martin Weinelt 8eb7a9415e
discourse: 3.4.4 -> 3.4.6 (#430928) 2025-08-04 16:05:25 +02:00
Martin Weinelt 7db4feef65
nixos/discourse: fix postgres dependency
This was broken during the postgresql.target migration in 41c5662cbe.
2025-08-04 15:48:21 +02:00
Robert Hensing 3f63b0cffc
nixos/documentation/modular-services: init (#430876) 2025-08-04 14:27:47 +02:00
Leona Maroni 3b5e1ef58c
nixos/postgresql: implement auto-restart & rework dependencies of postgresql.target (#424625) 2025-08-04 14:16:50 +02:00
Robert Hensing 9ed72a85ab nixos/documentation/modular-services: init
Render documentation for modular services.
https://nixos.org/manual/nixos/unstable/#modular-services

This is admittedly not a great solution, but it is a rather simple
solution that we can use until we develop a proper one.

Flaws:
- These are rendered in the NixOS documentation, but modular services
  are not meant to be exclusive to NixOS.
- They are rendered as NixOS options, but should be imported into
  service submodules.

Benefits:
- Simple
- search.nixos.org integration for free
2025-08-04 12:09:39 +02:00
nikstur 4896f8ced0
nixos/auditd: support plugins (#420043) 2025-08-04 11:21:32 +02:00
Matthias Beyer 2c06381907
nixos/traccar: Rework configuration file creation. (#413653) 2025-08-04 10:26:00 +02:00
Yethal 68710f4064 virtualisation/oci-containers: fix podman systemd service name 2025-08-04 10:01:24 +02:00
Vladimír Čunát 0b0c68c77d
nixos/installation-device: don’t include stdenv (#418267) 2025-08-04 08:44:35 +02:00
Emily f5f4d6e8e3 nixos/installation-device: don’t include stdenv
A basic NixOS system shouldn’t require `stdenv` to install, and
it adds something like 45 MiB of build tools to the installer
closure. This doesn’t really help much at present since
WebKitGTK(?!) has a dodgy reference to GCC, but it’s a step in the
right direction.
2025-08-04 03:48:05 +01:00
Sandro Jäckel e42cceb90c
nixos/prosody: fix message reactions and moderation in muc's
It took us over 3 hours to figure this out, I want to cry :,(
2025-08-04 00:58:50 +02:00
Sandro Jäckel dfa4ce2923
nixos/prosody: add support for httpFileShare.http_host 2025-08-04 00:58:49 +02:00
Sandro 02e4fa0530
nixos/kanidm: bind ca-bundle to validate url on provisioning (#409184) 2025-08-03 23:32:08 +02:00
Majiir Paktu e338c7b8dc nixos/wireguard-networkd: fix 'cannot find device' error
In some situations, the dynamic refresh can fail to bring up the
wireguard interface. If that happens, all subsequent refresh attempts
will fail because the 'ip link delete' command fails with "Cannot find
device". If this happens, we now proceed with the networkctl reload
anyway.
2025-08-03 17:10:05 -04:00
Grimmauld ee774bb624
nixos/auditd: add built-in plugins (default disabled) 2025-08-03 22:19:26 +02:00
Grimmauld 2c77ad7e9e
nixos/auditd: add plugin support 2025-08-03 22:19:23 +02:00
Grimmauld 51a2caecf4
nixos/auditd: support configuring service through nix 2025-08-03 22:19:20 +02:00
Felix Bühler a7566d72a0
nixos/freshrss: fix loading extensions' static content (#430651) 2025-08-03 21:39:11 +02:00
Sandro Jäckel 76224149c1
nixos/prosody: fix certs directory missing error
Prosody starts without it but not lay false leads for others to debug.
2025-08-03 21:35:33 +02:00
Sandro Jäckel a302465e0e
nixos/prosody: wire up modules.mam option 2025-08-03 21:35:33 +02:00
Sandro Jäckel 445cd5701d
nixos/prosody: enable admin_shell to fix tests 2025-08-03 21:35:32 +02:00
Sandro Jäckel 3ea8513fb5
nixos/prosody: disable http_files per default as it requires configuration to not break http_file_share 2025-08-03 21:35:32 +02:00
Sandro Jäckel c8094c2f03
nixos/prosody: fix logged error that /etc/mime.types cannot be found 2025-08-03 21:35:30 +02:00
Sandro Jäckel d323803eee
nixos/prosody: minor formatting cleanup 2025-08-03 21:35:30 +02:00