{ stdenv, lib }: let fs = lib.fileset; sourceFiles = fs.unions [ ./hello.txt ./world.txt ./build.sh (fs.fileFilter (file: file.hasExt "c" || file.hasExt "h") ./src ) ]; in fs.trace sourceFiles stdenv.mkDerivation { name = "fileset"; src = fs.toSource { root = ./.; fileset = sourceFiles; }; postInstall = '' cp -vr . $out ''; }