at 25.11-pre 862 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8with lib; 9 10let 11 12 inInitrd = config.boot.initrd.supportedFilesystems.xfs or false; 13 14in 15 16{ 17 config = mkIf (config.boot.supportedFilesystems.xfs or false) { 18 19 system.fsPackages = [ pkgs.xfsprogs.bin ]; 20 21 boot.initrd.availableKernelModules = mkIf inInitrd [ 22 "xfs" 23 "crc32c" 24 ]; 25 26 boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' 27 copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/fsck.xfs 28 copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/xfs_repair 29 ''; 30 31 # Trick just to set 'sh' after the extraUtils nuke-refs. 32 boot.initrd.extraUtilsCommandsTest = mkIf (inInitrd && !config.boot.initrd.systemd.enable) '' 33 sed -i -e 's,^#!.*,#!'$out/bin/sh, $out/bin/fsck.xfs 34 ''; 35 36 boot.initrd.systemd.initrdBin = mkIf inInitrd [ pkgs.xfsprogs.bin ]; 37 }; 38}