diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-04-10 20:43:08 +0200 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-04-10 20:43:08 +0200 |
commit | 69bfdf2484041b9d242840c4e5017b4703383bb0 (patch) | |
tree | d8bdaa69e7990d7d6f09b594b3c425f742acd2d0 /nixpkgs/doc/functions | |
parent | c8aee4b4363b6bf905a521b05b7476960e8286c8 (diff) | |
parent | d8fe5e6c92d0d190646fb9f1056741a229980089 (diff) | |
download | nixlib-69bfdf2484041b9d242840c4e5017b4703383bb0.tar nixlib-69bfdf2484041b9d242840c4e5017b4703383bb0.tar.gz nixlib-69bfdf2484041b9d242840c4e5017b4703383bb0.tar.bz2 nixlib-69bfdf2484041b9d242840c4e5017b4703383bb0.tar.lz nixlib-69bfdf2484041b9d242840c4e5017b4703383bb0.tar.xz nixlib-69bfdf2484041b9d242840c4e5017b4703383bb0.tar.zst nixlib-69bfdf2484041b9d242840c4e5017b4703383bb0.zip |
Merge commit 'd8fe5e6c'
Conflicts: nixpkgs/pkgs/build-support/go/module.nix
Diffstat (limited to 'nixpkgs/doc/functions')
-rw-r--r-- | nixpkgs/doc/functions/nix-gitignore.section.md | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/nixpkgs/doc/functions/nix-gitignore.section.md b/nixpkgs/doc/functions/nix-gitignore.section.md index 8eb4081d2878..8532ab68ac04 100644 --- a/nixpkgs/doc/functions/nix-gitignore.section.md +++ b/nixpkgs/doc/functions/nix-gitignore.section.md @@ -7,27 +7,30 @@ `pkgs.nix-gitignore` exports a number of functions, but you'll most likely need either `gitignoreSource` or `gitignoreSourcePure`. As their first argument, they both accept either 1. a file with gitignore lines or 2. a string with gitignore lines, or 3. a list of either of the two. They will be concatenated into a single big string. ```nix -{ pkgs ? import <nixpkgs> {} }: +{ pkgs ? import <nixpkgs> {} }: { - nix-gitignore.gitignoreSource [] ./source + src = nix-gitignore.gitignoreSource [] ./source; # Simplest version - nix-gitignore.gitignoreSource "supplemental-ignores\n" ./source + src = nix-gitignore.gitignoreSource "supplemental-ignores\n" ./source; # This one reads the ./source/.gitignore and concats the auxiliary ignores - nix-gitignore.gitignoreSourcePure "ignore-this\nignore-that\n" ./source + src = nix-gitignore.gitignoreSourcePure "ignore-this\nignore-that\n" ./source; # Use this string as gitignore, don't read ./source/.gitignore. - nix-gitignore.gitignoreSourcePure ["ignore-this\nignore-that\n", ~/.gitignore] ./source + src = nix-gitignore.gitignoreSourcePure ["ignore-this\nignore-that\n" ~/.gitignore] ./source; # It also accepts a list (of strings and paths) that will be concatenated # once the paths are turned to strings via readFile. +} ``` These functions are derived from the `Filter` functions by setting the first filter argument to `(_: _: true)`: ```nix -gitignoreSourcePure = gitignoreFilterSourcePure (_: _: true); -gitignoreSource = gitignoreFilterSource (_: _: true); +{ + gitignoreSourcePure = gitignoreFilterSourcePure (_: _: true); + gitignoreSource = gitignoreFilterSource (_: _: true); +} ``` Those filter functions accept the same arguments the `builtins.filterSource` function would pass to its filters, thus `fn: gitignoreFilterSourcePure fn ""` should be extensionally equivalent to `filterSource`. The file is blacklisted if it's blacklisted by either your filter or the gitignoreFilter. @@ -35,7 +38,9 @@ Those filter functions accept the same arguments the `builtins.filterSource` fun If you want to make your own filter from scratch, you may use ```nix -gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root; +{ + gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root; +} ``` ## gitignore files in subdirectories {#sec-pkgs-nix-gitignore-usage-recursive} @@ -43,7 +48,9 @@ gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root; If you wish to use a filter that would search for .gitignore files in subdirectories, just like git does by default, use this function: ```nix -gitignoreFilterRecursiveSource = filter: patterns: root: -# OR -gitignoreRecursiveSource = gitignoreFilterSourcePure (_: _: true); +{ + # gitignoreFilterRecursiveSource = filter: patterns: root: + # OR + gitignoreRecursiveSource = gitignoreFilterSourcePure (_: _: true); +} ``` |