diff options
Diffstat (limited to 'pkgs/static/gitignore')
| -rw-r--r-- | pkgs/static/gitignore/default.nix | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/pkgs/static/gitignore/default.nix b/pkgs/static/gitignore/default.nix index ac825a5..67dd28a 100644 --- a/pkgs/static/gitignore/default.nix +++ b/pkgs/static/gitignore/default.nix @@ -1,12 +1,28 @@ -{ fetchurl, lib }: +{ + templates ? [], + toUncomment ? [], + stdenvNoCC, + fetchFromGitHub, + lib, +}: +stdenvNoCC.mkDerivation { + name = lib.concatStringsSep "+" templates + ".gitignore"; + version = "2023-06-30"; -let - fetchGitignore = module: sha256: - let - url = "https://www.toptal.com/developers/gitignore/api/" + module; - name = module + ".gitignore"; - in fetchurl { inherit url sha256 name; }; - sources = lib.importJSON ./sources.json; -in { - fetcher = fetchGitignore; -} // builtins.mapAttrs fetchGitignore sources + 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 + done + substituteInPlace $out ${lib.concatStringsSep " " (builtins.map (line: "--replace ${lib.escapeShellArg "# ${line}"} ${lib.escapeShellArg line}") toUncomment)} + ''; +} |
