Commit graph

344 commits

Author SHA1 Message Date
Wolfgang Walther 91a8fee3aa
treewide: remove redundant parentheses
Auto-fixed by nixf-diagnose.
2025-10-05 10:52:03 +02:00
Will Fancher 62a07189b4 nixos/bcachefs: fix warning 2025-09-30 13:57:31 -04:00
Will Fancher 6e331d90bd bcachefs-kernel-module: Nest within bcachefs-tools
When you set the bcachefs userspace tools with:

```nix
boot.bcachefs.package = /* custom pacakge */;
```

This now also changes the kernel package. The NixOS module now calls
on the nested `cfg.package.kernelModule` expression with
`kernelPackages.callPackage`. This will enable overriding both
userspace and kernel space from e.g. upstream git.
2025-09-30 01:16:01 -04:00
Will Fancher 89e7815828 nixos/bcachefs: Use out-of-tree module when possible. 2025-09-24 21:15:52 -04:00
Will Fancher 25d56c5a34 nixos/bcachefs: Don't duplicate assertions.
The first instance is unconditional. No need to have it twice.
2025-09-24 21:15:52 -04:00
John Titor f93738d6a2
Partially revert "nixos/bcachefs: remove linuxPackages_latest requirement"
This reverts commit afbaa572ed.

Bcachefs upstream recommends using the latest kernel for best compatibility.
2025-09-23 13:13:37 +05:30
John Titor d6ed16a832
nixos/bcachefs: add boot.bcachefs.package
This allows configuring the userspace bcachefs package to use.
Similar to boot.zfs.package
2025-09-13 22:17:32 +05:30
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
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
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
Will Fancher c90c29bacc nixos/bcachefs: Parse tags
Fixes #317901
2025-07-05 23:46:05 +05:30
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
Shawn8901 9a1d8f09cf zfs: add option to use kernel keyring for encryption credentials 2025-04-03 22:57:06 +02:00
Silvan Mosberger 374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00
Arne Keller fd9f17ef49
nixos/filesystems: init bindfs (#337697) 2025-03-30 22:10:57 +02:00
h7x4 ab0564bd10
treewide: add documentation for nixos systemd units 2025-03-12 18:00:38 +01:00
Stefan Frijters 45dad721eb
nixos/zfs: make it easier to override Persistent setting of timers 2025-02-22 12:55:04 +01:00
Peder Bergebakken Sundt 953f72e76e nixos/*: tag manpage references 2025-01-27 02:47:01 +01:00
Christian Kögler 945777b8ed
nixos/zfs: Set scrub default IOSchedulingClass to idle (#312193) 2025-01-05 23:57:50 +01:00
Will Fancher b7ea795937
nixos/overlayfs: add a switch to disable prefixing with /sysroot for initrd mounts (#340763) 2025-01-05 17:56:41 -05:00
Andrew Marshall 4ed27101c6 nixos/zfs: fix not auto-importing pools without any fileSystems
`lib.all (_: false) [ ]` is `true`, which is not the semantics we want
here, and interacts poorly with `boot.zfs.extraPools` where
`getPoolFilesystems` may return `[]`. So explicitly handle this case.
This does mean there isn’t a straightforward way to disable auto-import
with `extraPools` and no associated `fileSystems` while keeping the unit
around, but that’s probably okay for now.

See https://github.com/NixOS/nixpkgs/issues/364995.
Broken in 7f8278a264.
2024-12-13 19:02:30 -05:00
Arne Keller e3f940648e
nixos/zfs: do not auto-import pools marked noauto (#352391) 2024-12-12 06:51:39 +01:00
Andrew Marshall 7f8278a264 nixos/zfs: do not auto-import pools marked noauto
This requires all datasets for the pool specified in `fileSystems` to be
marked noauto.

Note that this implicitly skips some tasks for the pool, such as
`expandOnBoot`, as the pool will not be imported at that time.
2024-12-11 22:56:13 -05:00
Silvan Mosberger 4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
Bjørn Forsman 7aad7090b7 nixos/zfs: order pool sync services before final.target
If we don't do this, I think systemd can kill the service(s) before they
finish.
2024-12-07 10:16:55 +01:00
Moritz Sanft cba277a1dc
nixos/overlayfs: format 2024-11-05 17:02:24 +01:00
Moritz Sanft 96a7448a4e
nixos/overlayfs: add a switch to disable prefixing with /sysroot for initrd mounts 2024-11-05 16:54:01 +01:00
Andrew Marshall 9ce881027b zfs: remove recommendations to use unstable
`pkgs.zfs_unstable` is pre-release software and may very well have
critical bugs that make it unsuitable for general use. As such, we
should not recommend it as a general solution to the problem of "my
Kernel is too new for stable ZFS".
2024-11-01 18:50:24 -04:00
Andrew Marshall a0de415588 nixos/zfs: improve docs for boot.zfs.devNodes option
Specify more clearly how this is used, and defer to upstream docs for
guidance on selecting it.
2024-10-31 09:04:11 -04:00
Andrew Marshall 0f69b960b8 nixos/zfs: teach to override devNodes per pool
This may be useful if some pools use LUKS or some other intermediate
layer, while others do not.
2024-10-30 10:41:18 -04:00
Sandro Jäckel 91cf1d31c8 nixos/zfs: fix shellcheck findings with enableStrictShellChecks enabled 2024-10-30 08:33:57 +00:00
Franz Pletz cc2142b9f0
nixos/zfs: remove incorrect conditional use of spl kmod; remove withs (#344271) 2024-09-28 15:30:13 +02:00
Andrew Marshall bec753ddfc nixos/zfs: replace with with let
The fully-qualified name would certainly be a lot here, but `with` can
still be unclear even with narrow scope. A short `let` adds clarity
without significantly increasing verbosity.
2024-09-27 08:08:31 -04:00
Andrew Marshall eef4c18ae8 nixos/zfs: remove unused vars 2024-09-27 08:08:31 -04:00
Andrew Marshall 33bd85a6c8 nixos/zfs: remove top-level withs
As it is generally considered an anti-pattern. Removing them here in
fact exposed one bug (see previous commit).
2024-09-27 08:08:30 -04:00
Andrew Marshall 06ed2c46fb nixos/zfs: remove incorrect conditional use of spl kmod
This was incorrectly getting `lib.version` which is e.g.
`"24.11pre-git"`, but should have been the ZFS package version. However,
the condition, at least per the comment, is reversed and should be
instead `versionOlder cfgZfs.package.version "2.2.0"`. However, the
entire premise seems to be incorrect, as ZFS 2.2.6 includes the spl
module. Since the previous condition here was effectively always true,
it would initially seem the best move is to remove the conditional
altogether and always include the spl kmod. However, going back to
4360a87c45 where this condition was added,
the intent appears to be that spl was no longer needed here in
the-pre-release ZFS (long since in all supported versions), due to it
being merged into ZFS mainline. Given that intent and that our boot
tests on all versions succeed without including it in the initrd, remove
it.
2024-09-27 08:08:30 -04:00
Patrick Collins 448240f6e2
nixos/nfsd: fix typo that breaks services.nfs.settings (#342200)
Currently will always fail when nfs.server.hostName is specified alongside nfs.settings.
2024-09-25 20:33:23 +03:00
Felix Buehler dd7ab59690 nixos/services.nfs: remove with lib; 2024-09-15 10:43:58 +02:00
Aaron Ecay 345618de26
nixos/zfs: mitigate data loss issues when resuming from hibernation 2024-09-06 13:39:21 -04:00