summaryrefslogtreecommitdiff
path: root/pkgs/static/gitignore/default.nix
blob: 94b3702ecc8d4a07aea19722837ee0f7a74313d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
  templates ? [],
  toUncomment ? [],
  stdenvNoCC,
  fetchFromGitHub,
  lib,
}:
stdenvNoCC.mkDerivation {
  name = lib.concatStringsSep "+" templates + ".gitignore";
  version = "2023-06-30";

  src = fetchFromGitHub {
    owner = "toptal";
    repo = "gitignore";
    rev = "0a7fb01801c62ca53ab2dcd73ab96185e159e864";
    hash = "sha256-tZ+hlpt7T1by3f9BxzakjpQr+Y4top570J58q8VP9YE=";
  };

  buildPhase = ''
    cd templates
    for file in ${lib.concatStringsSep " " (builtins.map (name: lib.escapeShellArg "${name}.gitignore") templates)}
    do
      echo "### $(basename "$file" .gitignore)" >> $out
      cat "$file" >> $out
      echo >> $out
    done
    substituteInPlace $out ${lib.concatStringsSep " " (builtins.map (line: "--replace ${lib.escapeShellArg "# ${line}"} ${lib.escapeShellArg line}") toUncomment)}
  '';
}