diff options
author | Alexander Foremny <aforemny@posteo.de> | 2023-09-05 16:41:49 +0200 |
---|---|---|
committer | Alexander Foremny <aforemny@posteo.de> | 2023-09-05 16:41:53 +0200 |
commit | 698bd499fdd559301c183e4ff4ec940d4d244600 (patch) | |
tree | 3bf1db7dfe49c3e1f1f8aaacdc009e2030274aaa | |
parent | bd02726bca52e8e3343426d48b6e893ef77dc6cb (diff) |
add Nix package
-rw-r--r-- | README.md | 11 | ||||
-rw-r--r-- | anissue.nix | 46 | ||||
-rw-r--r-- | default.nix | 2 |
3 files changed, 59 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..b5c8079 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +## installation + +```console +nix-env -f. -i + + +## usage + +```console +anissue . +``` diff --git a/anissue.nix b/anissue.nix new file mode 100644 index 0000000..8df12a3 --- /dev/null +++ b/anissue.nix @@ -0,0 +1,46 @@ +{ coreutils +, fetchFromGitHub +, findutils +, gawk +, git +, gnused +, jq +, lib +, makeWrapper +, ncurses +, nix-gitignore +, stdenv +}: +let + # TODO package tree-grepper in Nixpkgs so that it can reuse <nixpkgs> + tree-grepper = (import (fetchFromGitHub { + owner = "BrianHicks"; + repo = "tree-grepper"; + rev = "refs/tags/2.4.1"; + hash = "sha256-wHqVhx2JFBm+lc3/rruBBlpF2Ylv3/oOFM5CgX5WtKs="; + })).default; +in +stdenv.mkDerivation { + name = "anissue"; + src = nix-gitignore.gitignoreSource [ ] ./.; + nativeBuildInputs = [ makeWrapper ]; + buildPhase = ":"; + installPhase = '' + mkdir -p $out/{bin,share} + for bin in src/*.sh; do + cp $bin $out/share/$(basename $bin) + wrapProgram $out/share/$(basename $bin) \ + --set PATH ${lib.makeBinPath [ + coreutils + findutils + gawk + git + gnused + jq + ncurses + tree-grepper + ]} + done + ln -s $out/share/extract.sh $out/bin/anissue + ''; +} diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..f453cd5 --- /dev/null +++ b/default.nix @@ -0,0 +1,2 @@ +{ pkgs ? import <nixpkgs> { } }: +pkgs.callPackage ./anissue.nix { } |