lib.sources: source filtering functions
lib.sources.commitIdFromGitRepo
Get the commit id of a git repo.
-
path
-
Function argument
Located at lib/sources.nix:271 in <nixpkgs>
.
lib.sources.cleanSource
Filters a source tree removing version control files and directories using cleanSourceFilter.
-
src
-
Function argument
Located at lib/sources.nix:271 in <nixpkgs>
.
lib.sources.cleanSourceWith
Like builtins.filterSource
, except it will compose with itself,
allowing you to chain multiple calls together without any
intermediate copies being put in the nix store.
structured function argument
-
:
src
-
A path or cleanSourceWith result to filter and/or rename.
-
filter
-
Optional with default value: constant true (include everything) The function will be combined with the && operator such that src.filter is called lazily. For implementing a filter, see https://nixos.org/nix/manual/#builtin-filterSource Type: A function (path -> type -> bool)
-
name
-
Optional name to use as part of the store path. This defaults to
src.name
or otherwise"source"
.
Example
lib.sources.cleanSourceWith
usage example
lib.cleanSourceWith {
filter = f;
src = lib.cleanSourceWith {
filter = g;
src = ./.;
};
}
# Succeeds!
builtins.filterSource f (builtins.filterSource g ./.)
# Fails!
Located at lib/sources.nix:271 in <nixpkgs>
.
lib.sources.cleanSourceFilter
A basic filter for cleanSourceWith
that removes
directories of version control system, backup files (*~)
and some generated files.
-
name
-
Function argument
-
type
-
Function argument
Located at lib/sources.nix:271 in <nixpkgs>
.
lib.sources.sourceByRegex
Filter sources by a list of regular expressions.
-
src
-
Function argument
-
regexes
-
Function argument
Example
lib.sources.sourceByRegex
usage example
src = sourceByRegex ./my-subproject [".*\.py$" "^database.sql$"]
Located at lib/sources.nix:271 in <nixpkgs>
.
lib.sources.sourceFilesBySuffices
Type: sourceLike -> [String] -> Source
Get all files ending with the specified suffices from the given
source directory or its descendants, omitting files that do not match
any suffix. The result of the example below will include files like
./dir/module.c
and ./dir/subdir/doc.xml
if present.
-
src
-
Path or source containing the files to be returned
-
exts
-
A list of file suffix strings
Located at lib/sources.nix:271 in <nixpkgs>
.
lib.sources.trace
Type: sources.trace :: sourceLike -> Source
Add logging to a source, for troubleshooting the filtering behavior.
-
src
-
Source to debug. The returned source will behave like this source, but also log its filter invocations.
Located at lib/sources.nix:271 in <nixpkgs>
.