昨日はcalude codeにgleam2nixっていうGleamパッケージをNixでビルドするモジュールを使ってflakeを書かせていた。 翌日起きて該当のflakeを見たらsrcにpkgs.lib.cleanSource
という記述があって、調べたらドキュメントに「.git
とかバージョン管理系のファイルとかを除外する関数だよ」と書いてあった。
https://nixos.org/manual/nixpkgs/stable/#function-library-lib.sources.cleanSource
なるほど、.git
はNixのビルド工程において必要はないし、コピーしないに越したことはないよなと。 もし除外したいファイルを指定したい時はcleanSourceWith
を使えばできるらしい 。
https://nixos.org/manual/nixpkgs/stable/#function-library-lib.sources.cleanSourceWith
という訳で、今後Nixでsrc指定する時はcleanSource
を使ってみようかなという話でした。
追記: @kuuさん曰く、Flakeを使っているならsrcは自動的にcleanSource相当の処理が適用されるらしいです。ありがとうございます。