diff options
-rw-r--r-- | krebs/5pkgs/simple/gitignore.nix | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/gitignore.nix b/krebs/5pkgs/simple/gitignore.nix new file mode 100644 index 000000000..b3c750a08 --- /dev/null +++ b/krebs/5pkgs/simple/gitignore.nix @@ -0,0 +1,46 @@ +{ pkgs }: + +/* gitignore - Filter for intentionally untracked lines or blocks of code + +This is a filter that allows specifying intentionally untracked lines and +blocks of code that Git should ignore. + +Example: + + int main(void) { + printf("I would never say derp.\n"); + //#gitignore-begin + printf("DERP!\n"); + //#gitignore-end + printf("DERP!\n"); //#gitignore + return 0; + } + +Installation: + + Define a filter, e.g. in ~/.config/git/config[1]: + + [filter "gitignore"] + clean = gitignore + smudge = cat + + Assing that filter to some paths, e.g. in ~/.config/git/attributes[2]: + + *.hs filter=gitignore + *.c filter=gitignore + ... + + [1]: For more information about defining filters see git-config(1). + [2]: For more information about assigning filters see gitattributes(5). +*/ + +pkgs.execBin "gitignore" { + filename = "${pkgs.gnused}/bin/sed"; + argv = [ + "gitignore" + /* sed */ '' + /#gitignore-begin/,/#gitignore-end/d + /#gitignore/d + '' + ]; +} |