From 824e5f02a1b921d086b8f33f3dce16588ad51ac0 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 14 Feb 2021 20:40:07 +0100 Subject: gitignore: init --- krebs/5pkgs/simple/gitignore.nix | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 krebs/5pkgs/simple/gitignore.nix (limited to 'krebs/5pkgs') diff --git a/krebs/5pkgs/simple/gitignore.nix b/krebs/5pkgs/simple/gitignore.nix new file mode 100644 index 00000000..b3c750a0 --- /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 + '' + ]; +} -- cgit v1.2.3