nixos/lib/make-squashfs.nix: allow disabling compression

This commit is contained in:
Cole Mickens 2023-09-22 16:48:54 +02:00
parent ad51bcc62a
commit 5a718794d0
No known key found for this signature in database
GPG key ID: B475C2955744A019
2 changed files with 4 additions and 2 deletions

View file

@ -14,6 +14,7 @@
let let
pseudoFilesArgs = lib.concatMapStrings (f: ''-p "${f}" '') pseudoFiles; pseudoFilesArgs = lib.concatMapStrings (f: ''-p "${f}" '') pseudoFiles;
compFlag = if comp == null then "-no-compression" else "-comp ${comp}";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${fileName}.img"; name = "${fileName}.img";
@ -39,7 +40,7 @@ stdenv.mkDerivation {
# Generate the squashfs image. # Generate the squashfs image.
mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out ${pseudoFilesArgs} \ mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out ${pseudoFilesArgs} \
-no-hardlinks ${lib.optionalString noStrip "-no-strip"} -keep-as-directory -all-root -b 1048576 -comp ${comp} \ -no-hardlinks ${lib.optionalString noStrip "-no-strip"} -keep-as-directory -all-root -b 1048576 ${compFlag} \
-processors $NIX_BUILD_CORES -processors $NIX_BUILD_CORES
''; '';
} }

View file

@ -512,9 +512,10 @@ in
+ lib.optionalString isAarch "-Xbcj arm" + lib.optionalString isAarch "-Xbcj arm"
+ lib.optionalString (isPower && is32bit && isBigEndian) "-Xbcj powerpc" + lib.optionalString (isPower && is32bit && isBigEndian) "-Xbcj powerpc"
+ lib.optionalString (isSparc) "-Xbcj sparc"; + lib.optionalString (isSparc) "-Xbcj sparc";
type = lib.types.str; type = lib.types.nullOr lib.types.str;
description = lib.mdDoc '' description = lib.mdDoc ''
Compression settings to use for the squashfs nix store. Compression settings to use for the squashfs nix store.
`null` disables compression.
''; '';
example = "zstd -Xcompression-level 6"; example = "zstd -Xcompression-level 6";
}; };