이 파생은 예상대로 현재 디렉터리의 모든 파일을 재귀적으로 포함하는 것으로 보입니다.
src = builtins.path {
name = pname;
path = ./.;
};
나는 그것의 작은 부분만을 포함하고 content/index.html
싶습니다 package.json
. 하지만 내 필터는 모든 것을 제외하는 것 같습니다.
src = builtins.path {
name = pname;
path = ./.;
filter = path: type:
builtins.elem path [
./content/index.html
./package.json
];
};
적어도 다음 사항에 따르면 pkgs.mkYarnPackage
:
오류: '/nix/store/[…]/package.json' 파일 열기: 해당 파일 또는 디렉터리가 없습니다.
내 필터에 무슨 문제가 있나요?
다음 필터하다작동하지만 약간의 해킹입니다.
filter = path: type:
builtins.elem (baseNameOf path) [
"index.html"
"package.json"
];
./package.json
항목의 평등에 문제가 있는 것 같습니다 src
. 반환된 경로가 builtins.path
다른 데이터 유형/값 입니까 ./foo
?
답변1
그것을 발견답변: builtins.path
항목을 경로로 변환하는 것은 다음과 같이 간단합니다.
filter = path: type:
builtins.elem (/. + path) [
./content
./content/index.html
./package.json
];
(각 디렉토리와 해당 내용을 나열해야 합니다.)