diff options
| author | quentin@aristote.fr <quentin@aristote.fr> | 2023-08-27 13:58:26 +0200 |
|---|---|---|
| committer | quentin@aristote.fr <quentin@aristote.fr> | 2023-08-27 16:30:24 +0200 |
| commit | de6dfea61b996c5e52a47842b3b54e1b9a390a91 (patch) | |
| tree | 271809125085017526a8b27b7e0a6e574da2dfc0 /pkgs/static/gitignore | |
| parent | 2cb43216d3c2cbc6f40e0d6646abb9f31a1c40f7 (diff) | |
pkgs: gitignore: reorganize
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)} + ''; +} |
