nixos/filesystems/exfat: use "exfatprogs" instead of "exfat" if kernel > 5.7

5.7+ comes with a native exfat implementation, exfatprogs should be used instead.

The exfat package puts a "mount.exfat" binary in the path, which causes
mount to prefer the FUSE version to the non-fuse one. There's no way to
disable the binary, so switch to exfatprogs.

Changed files
+5 -3
nixos
modules
tasks
filesystems
+5 -3
nixos/modules/tasks/filesystems/exfat.nix
···
{
config = mkIf (any (fs: fs == "exfat") config.boot.supportedFilesystems) {
-
-
system.fsPackages = [ pkgs.exfat ];
-
+
system.fsPackages = if config.boot.kernelPackages.kernelOlder "5.7" then [
+
pkgs.exfat # FUSE
+
] else [
+
pkgs.exfatprogs # non-FUSE
+
];
};
}