summary refs log tree commit diff
path: root/nixos/modules/tasks
diff options
context:
space:
mode:
authoraszlig <aszlig@nix.build>2022-11-15 02:02:17 +0100
committeraszlig <aszlig@nix.build>2022-11-15 02:15:54 +0100
commitd9b1bde390eb133a3da66c8abd902ea2b754938c (patch)
treee7795f380afc90da677ab4ab7e8e33c1ecef04a8 /nixos/modules/tasks
parent84ead61b7a21da0229a4fa74a7aec856e3a440d0 (diff)
nixos: Fix fsck with systemd 251.6 and later
Version 251.6 of systemd introduced a small change[1] that now checks
whether the fsck command is available in *addition* to the filesystem
specific fsck.$fsname executable.

When bumping systemd to version 251.7 on our side[2], we introduced that
change. This subsequently caused our "fsck" test to fail and it looks
like this was an oversight during the pull request[3] introducing the
bump.

Since the fsck wrapper binary is in util-linux, I decided to address
this by adding util-linux to fsPackages because util-linux is already
part of the closure of any NixOS system so the impact should be pretty
low.

[1]: https://github.com/systemd/systemd-stable/commit/73db7d99323c236625656f906eb4e429613d324b
[2]: https://github.com/NixOS/nixpkgs/commit/844a08cc06b5c0703ba37f2318ef5b7d90665d04
[3]: https://github.com/NixOS/nixpkgs/pull/199618

Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'nixos/modules/tasks')
-rw-r--r--nixos/modules/tasks/filesystems.nix6
1 files changed, 5 insertions, 1 deletions
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index 399ea9eabe08d..97f02a8c963a8 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -300,7 +300,11 @@ in
     boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
 
     # Add the mount helpers to the system path so that `mount' can find them.
-    system.fsPackages = [ pkgs.dosfstools ];
+    system.fsPackages = [
+      pkgs.dosfstools
+      # This is needed for the main fsck utility wrapping the fs-specific ones.
+      pkgs.util-linux
+    ];
 
     environment.systemPackages = with pkgs; [ fuse3 fuse ] ++ config.system.fsPackages;