diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-02-24 01:09:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-02-24 01:09:00 +0000 |
commit | 072c01a28f865e9487df09aed7ddff328252fb36 (patch) | |
tree | 6df6e652915940255f294ed8998cce1c4c7c2d40 /nixpkgs/doc | |
parent | 024b46ff20027c15322e5d868ecec42632556d4b (diff) | |
parent | 969cff2691a02b3d7e5468beda26c482d8986644 (diff) | |
download | nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.gz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.bz2 nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.lz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.xz nixlib-072c01a28f865e9487df09aed7ddff328252fb36.tar.zst nixlib-072c01a28f865e9487df09aed7ddff328252fb36.zip |
Merge commit '969cff2691a02b3d7e5468beda26c482d8986644'
Diffstat (limited to 'nixpkgs/doc')
-rw-r--r-- | nixpkgs/doc/functions.xml | 1 | ||||
-rw-r--r-- | nixpkgs/doc/functions/nix-gitignore.xml | 78 | ||||
-rw-r--r-- | nixpkgs/doc/languages-frameworks/haskell.section.md | 6 |
3 files changed, 82 insertions, 3 deletions
diff --git a/nixpkgs/doc/functions.xml b/nixpkgs/doc/functions.xml index 0d6e2770e6e6..53b3654fc450 100644 --- a/nixpkgs/doc/functions.xml +++ b/nixpkgs/doc/functions.xml @@ -17,4 +17,5 @@ <xi:include href="functions/shell.xml" /> <xi:include href="functions/dockertools.xml" /> <xi:include href="functions/prefer-remote-fetch.xml" /> + <xi:include href="functions/nix-gitignore.xml" /> </chapter> diff --git a/nixpkgs/doc/functions/nix-gitignore.xml b/nixpkgs/doc/functions/nix-gitignore.xml new file mode 100644 index 000000000000..465b38e0bf1d --- /dev/null +++ b/nixpkgs/doc/functions/nix-gitignore.xml @@ -0,0 +1,78 @@ +<section xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude" + xml:id="sec-pkgs-nix-gitignore"> + <title>pkgs.nix-gitignore</title> + + <para> + <function>pkgs.nix-gitignore</function> is a function that acts similarly to + <literal>builtins.filterSource</literal> but also allows filtering with the + help of the gitignore format. + </para> + + <section xml:id="sec-pkgs-nix-gitignore-usage"> + <title>Usage</title> + + <para> + <literal>pkgs.nix-gitignore</literal> exports a number of functions, but + you'll most likely need either <literal>gitignoreSource</literal> or + <literal>gitignoreSourcePure</literal>. 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. + </para> + + <programlisting><![CDATA[ +{ pkgs ? import <nixpkgs> {} }: + + nix-gitignore.gitignoreSource [] ./source + # Simplest version + + 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 + # Use this string as gitignore, don't read ./source/.gitignore. + + 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. + ]]></programlisting> + + <para> + These functions are derived from the <literal>Filter</literal> functions + by setting the first filter argument to <literal>(_: _: true)</literal>: + </para> + + <programlisting><![CDATA[ +gitignoreSourcePure = gitignoreFilterSourcePure (_: _: true); +gitignoreSource = gitignoreFilterSource (_: _: true); + ]]></programlisting> + + <para> + Those filter functions accept the same arguments the <literal>builtins.filterSource</literal> function would pass to its filters, thus <literal>fn: gitignoreFilterSourcePure fn ""</literal> should be extensionally equivalent to <literal>filterSource</literal>. The file is blacklisted iff it's blacklisted by either your filter or the gitignoreFilter. + </para> + + <para> + If you want to make your own filter from scratch, you may use + </para> + + <programlisting><![CDATA[ +gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root; + ]]></programlisting> + </section> + + <section xml:id="sec-pkgs-nix-gitignore-usage-recursive"> + <title>gitignore files in subdirectories</title> + + <para> + If you wish to use a filter that would search for .gitignore files in subdirectories, just like git does by default, use this function: + </para> + + <programlisting><![CDATA[ +gitignoreFilterRecursiveSource = filter: patterns: root: +# OR +gitignoreRecursiveSource = gitignoreFilterSourcePure (_: _: true); + ]]></programlisting> + </section> +</section> diff --git a/nixpkgs/doc/languages-frameworks/haskell.section.md b/nixpkgs/doc/languages-frameworks/haskell.section.md index 74b7a9f961ee..81f662f1a17d 100644 --- a/nixpkgs/doc/languages-frameworks/haskell.section.md +++ b/nixpkgs/doc/languages-frameworks/haskell.section.md @@ -352,9 +352,9 @@ you want them to come from. Add the following to `configuration.nix`. ```nix services.hoogle = { -enable = true; -packages = (hpkgs: with hpkgs; [text cryptonite]); -haskellPackages = pkgs.haskellPackages; + enable = true; + packages = (hpkgs: with hpkgs; [text cryptonite]); + haskellPackages = pkgs.haskellPackages; }; ``` |