Commit Graph

1054 Commits

Author SHA1 Message Date
clerie
076f59fd54 nixos/networking: network.target depends on netdev service directly
So we don't depend on addresses configured for an interface or
network-setup.service existing anymore.

Fixes #349882
2025-08-27 18:42:09 +02:00
John Titor
afbaa572ed nixos/bcachefs: remove linuxPackages_latest requirement
Nixpkgs has been on 6.12 for a while
2025-08-20 01:56:40 +05:30
John Titor
74d1da02aa nixos/bcachefs: handle / (root filesystem) in autoScrub service
Without this, the service and timer name become like this:

❯  systemctl status bcachefs-scrub--.service
○ bcachefs-scrub--.service - bcachefs scrub on /
     Loaded: loaded (/etc/systemd/system/bcachefs-scrub--.service; linked; preset: ignored)
     Active: inactive (dead)
TriggeredBy: ● bcachefs-scrub--.timer
2025-08-20 01:56:40 +05:30
Guanran Wang
7faeef0e92 nixos/btrfs: use sha256 instead of sha256_generic
Upstream dropped `sha256_generic` in e96cb9507f

Quoting from upstream:

> sha256_blocks_generic() is moved from lib/crypto/sha256-generic.c into
  lib/crypto/sha256.c.  It's now a static function marked with
  __maybe_unused, so the compiler automatically eliminates it in any
  cases where it's not used.

Co-authored-by: dramforever <dramforever@live.com>
2025-08-20 01:34:50 +05:30
Colin
a3e64d8d08 nixos: Elaborate documentation for fileSystems.* options (#405043) 2025-08-15 19:01:06 +00:00
nikstur
f087e5c94b nixos/network-interfaces: add packages to corePackages
This allows users to override (i.e. exclude) these packages from their
system closure if they don't need them.
2025-08-10 22:48:26 +02:00
nikstur
0d9a5c2059 nixos/fuse: add enable option
Fuse is stil enabled by default so the default behaviour of NixOS
doesn't change. However, now it's possible to actively exclude fuse when
you don't need it.
2025-08-10 22:43:39 +02:00
nikstur
d5ae87bdeb Revert "nixos: allow more things to be disabled" 2025-08-10 22:22:08 +02:00
Arian van Putten
1bb040fae8 nixos: allow more things to be disabled (#429695) 2025-08-10 19:49:52 +02:00
Ryan Lahfa
bcc20cad16 nixos/network-interfaces: let networkd handle privacy extensions (#431967) 2025-08-09 17:53:39 +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
nikstur
eca55074cb nixos/fuse: add enable option
Fuse is stil enabled by default so the default behaviour of NixOS
doesn't change. However, now it's possible to actively exclude fuse when
you don't need it.
2025-07-31 20:42:36 +02:00
nikstur
f5ffdbfeb0 nixos/network-interfaces: add packages to corePackages
This allows users to override (i.e. exclude) these packages from their
system closure if they don't need them.
2025-07-31 20:42:35 +02:00
Will Fancher
0894e88e99 bcachefs: Fix systemd dependencies (#422961) 2025-07-30 14:20:15 -04:00
Wolfgang Walther
5a0711127c treewide: run nixfmt 1.0.0 2025-07-24 13:55:40 +02:00
Michele Guerini Rocco
6424dede0c nixos/network-interfaces: improve IPv6 support (#417150) 2025-07-23 16:51:24 +02:00
rnhmjoj
602006b0b6 nixos/networking-interfaces: add rnhmjoj as maintainer 2025-07-11 09:44:49 +02:00
rnhmjoj
4e5205a68a nixos/networking-interfaces: add IPIP tunnels 2025-07-11 09:44:49 +02:00
rnhmjoj
716634530e nixos/networking-interfaces: clean up networking.sits
This change rework a bit the documentation on networking.sits to explain
what they actually are. In fact, there are three different protocols
being collectively called "SIT", which itself is a nonstandard term.
2025-07-11 09:44:48 +02:00
rnhmjoj
1a8c90128b nixos/network-interfaces: add option to set source address 2025-07-11 09:44:48 +02:00
rnhmjoj
a1a86470e3 nixos/network-interfaces-scripted: disable DAD
Duplicate address detection (DAD) causes newly added IPv6 addresses to
be effectively unusable for an unpredictable amount of time, introducing
race conditions in the network setup.
For example, a "tentative" addresses is not considered a valid source
address, so installing routes can fail unpredictably.

This change disables DAD for static IPv6 addresses, with the assumption
that the user already made sure they are unique when configuring the
network.
2025-07-11 09:44:47 +02:00
ners
e801d5894f nixos/network-interfaces-systemd: fix WoL policy handling 2025-07-08 10:33:20 +02:00
Martin Weinelt
20a1869006 hostname-debian: set main program and use in more places (#422282) 2025-07-07 00:32:38 +02:00
Will Fancher
45bb7f83f4 nixos/unlock-bcachefs: Support x-systemd.requires/wants-mounts-for= 2025-07-06 11:47:05 -04:00
Will Fancher
9d769b6b9d nixos/unlock-bcachefs: Fix x-systemd.requires/wants= matching.
It would match options with those keys as a prefix,
e.g. x-systemd.requires-mounts-for=, and fail to extract a sensible
value.
2025-07-06 11:47:05 -04:00
Martin Weinelt
8e70f11f88 networking: clarify search and domain option descriptions
There is no canonical way to set a system domain name any longer. The one
we previously used was the NIS/YP one, but that is pointless these days.

The hostname is set up through /etc/hostname, but hostname(5) states that
it should only contain 64 7-bit ASCII characters, so it cannot be used
to cover the domain name.

We still support setting the domain name to complete the `fqdn` option
and as a central option to reference the domain name from. If anyone
wants a NIS/YP domain name set, do it yourself..

We then clarify that the domain option has nothing to do with DNS
resolution anymore and search should be configured instead.

Finally explain the purpose of the ndots option in the context of search
domains, since they decide when we stop considering the search domains
when querying names with more than one dot.
2025-07-06 00:59:37 +02:00
Martin Weinelt
8a4536fdaf networking: stop configuring NIS domain name
The `domainname` utility uses setdomainname (see getdomainname(2)) to
configure the NIS[1] (also known as YP) domain name.

It provided a central directory for various objects that are resolved via
nsswitch in the late 1990s and early 2000s.

It is however not a safe nor common deployment scenario anymore.

[1] https://en.wikipedia.org/wiki/Network_Information_Service
2025-07-06 00:59:36 +02:00
Martin Weinelt
b84f8fdaa0 networking: provide hostname-debian by default
This is first and foremost to provide compat with scripts that call the
hostname executable to retrieve the hostname, an assumptions we probably
should not be breaking.
2025-07-06 00:59:36 +02:00
Martin Weinelt
bf1b4d35fb networking: don't install nettools by default
https://lwn.net/Articles/710533/ has been true in 2017 and still holds
today.
2025-07-06 00:59:36 +02:00
Will Fancher
c90c29bacc nixos/bcachefs: Parse tags
Fixes #317901
2025-07-05 23:46:05 +05:30
Martin Weinelt
4dd357b322 nixos/network-interfaces-systemd: support WoL and ProxyARP
This completes support for all `network.interfaces` options.
2025-07-04 22:13:16 +02:00
Martin Weinelt
87a1396702 nixos/zfs: use hostname-debian for hostname lookups
This is the simpler, more lightweight and better maintained version of
the hostname utility.
2025-07-04 06:57:54 +02:00
Will Fancher
b1fb0503ec bcachefs-unlock: respect x-systemd mount options (#419473) 2025-06-25 06:08:32 -04:00
Charlotte
814bbef95e bcachefs-unlock: Also handle mount paths
Co-authored-by: Will Fancher <elvishjerricco@gmail.com>
2025-06-25 09:37:33 +01:00
Charlotte 🦝 Deleńkec
ca0c35d813 bcachefs-unlock: respect x-systemd mount options
This will allow unlocking to take place *after* all of the devices have
been probed, as indicated by the x-systemd.wants and x-systemd.requires
options. This allows for multi-device bcachefs volumes to be reliably
unlocked.
2025-06-25 09:01:43 +01:00
qubitnano
f9bd91aa07 nixos/bcachefs: include poly1305 and chacha20 kernel modules for kernel < 6.15
Kernel 6.16-rc1 removed the poly1305 algorithm in
ceef731b0e22df80a13d67773ae9afd55a971f9e

bcachefs switched to the kernel libraries for poly1305 and chacha20 in
6.15 in 4bf4b5046de0ef7f9dc50f3a9ef8a6dcda178a6d
2025-06-24 13:34:08 +05:30
John Titor
4cd9dd4a87 nixos/bcachefs, bcachefs: add johnrtitor as maintainer
Let's give it a try once again, now that I am back on Bcachefs

Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com>
2025-06-22 02:58:48 +05:30
John Titor
774eadda46 nixos/bcachefs: init module for autoScrub
Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com>
2025-06-22 02:58:48 +05:30
K900
7e4f0fbf9d Merge remote-tracking branch 'origin/master' into staging-next 2025-06-06 21:50:43 +03:00
Johannes Kirschbauer
6e25d9885f nixos/filesystems: chore replace 'with' statements 2025-06-06 11:07:10 +02:00
nixpkgs-ci[bot]
c18eaf47ec Merge master into staging-next 2025-05-22 18:05:39 +00:00
Arnout Engelen
0d14c3cc5b nixos: autoUpgrade: allow disabling flake upgrades
When auto-upgrading based on a flake, it might be desirable to
only upgrade to the newer flake, without updating the nixpkgs
from the flake lock. This option makes that possible.
2025-05-22 09:16:56 +02:00
Robert Hensing
3dd811c4b9 lib.types.attrNamesToTrue: unpublish temporarily
Thank you for making this change.
Unfortunately, and I take blame for this, this change to the module
system was not reviewed and approved by the module system maintainers.
I'm supportive of this change, but extending it on the staging-next
branch is not the right place.
This commit is also here to make sure that we don't run into conflicts
or other git trouble with the staging workflow.

Review:
It looks alright, but it didn't have tests yet, and it should be
considered in a broader context where the existence of this type
creates an incentive to be used in cases where the `<attr> = false;`
case is undesirable. I'd like to complement this with an type that
has `<attr> = {};` only.

My apologies for the lack of a timely and clear review. Often we
recommend to define the type outside the module system until
approved. This commit puts us back in that state.

attrNamesToTrue was introduced in 98652f9a90
2025-05-16 11:52:36 +02:00
Will Fancher
98652f9a90 nixos/kernel: Allow controlling modules with attrsets 2025-05-15 00:00:56 -04:00
Shelvacu
f886d71d7b nixos: Elaborate documentation for fileSystems.* options 2025-05-07 13:02:00 -07:00
Michael Hoang
6c701a9573 nixos/networking: fix fqdnOrHostName when FQDN explictly set 2025-04-23 00:45:17 +10:00
Michael Hoang
4d537721f7 nixos/networking: allow users to override FQDN
This may be useful for users where `${cfg.hostname}.${cfg.domain}` isn't
actually the fully quantified domain name of the server.
2025-04-15 18:28:40 +02:00
Shawn8901
9a1d8f09cf zfs: add option to use kernel keyring for encryption credentials 2025-04-03 22:57:06 +02:00