concatTextFile
pkgs.concatTextFile
Docs pulled from | This Revision | 10 minutes ago
concat a list of files to the nix store. The contents of files are added to the file in the store.
Examples
concatTextFile
usage example
# Writes my-file to /nix/store/<store path>
concatTextFile {
name = "my-file";
files = [ drv1 "${drv2}/path/to/file" ];
}
See also the `concatText` helper function below.
# Writes executable my-file to /nix/store/<store path>/bin/my-file
concatTextFile {
name = "my-file";
files = [ drv1 "${drv2}/path/to/file" ];
executable = true;
destination = "/bin/my-file";
}
Noogle detected
Implementation
The following is the current implementation of this function.
concatTextFile =
{
name, # the name of the derivation
files,
executable ? false, # run chmod +x ?
destination ? "", # relative path appended to $out eg "/bin/foo"
checkPhase ? "", # syntax checks, e.g. for scripts
meta ? { },
passthru ? { },
}:
runCommandLocal name
{
inherit
files
executable
checkPhase
meta
passthru
destination
;
}
''
file=$out$destination
mkdir -p "$(dirname "$file")"
cat $files > "$file"
if [ -n "$executable" ]; then
chmod +x "$file"
fi
eval "$checkPhase"
'';