diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1c6d59af13e..43e47a23dd3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4942,6 +4942,12 @@ githubId = 45168934; name = "Louis Blin"; }; + lucc = { + email = "lucc+nix@posteo.de"; + github = "lucc"; + githubId = 1104419; + name = "Lucas Hoffmann"; + }; ldelelis = { email = "ldelelis@est.frba.utn.edu.ar"; github = "ldelelis"; diff --git a/pkgs/tools/misc/nvimpager/default.nix b/pkgs/tools/misc/nvimpager/default.nix new file mode 100644 index 00000000000..2c10c9fbfbb --- /dev/null +++ b/pkgs/tools/misc/nvimpager/default.nix @@ -0,0 +1,47 @@ +{ fetchFromGitHub +, stdenv +, ncurses, neovim, procps +, pandoc, lua51Packages, util-linux +}: + +stdenv.mkDerivation rec { + pname = "nvimpager"; + version = "0.9"; + + src = fetchFromGitHub { + owner = "lucc"; + repo = pname; + rev = "v${version}"; + sha256 = "1xy5387szfw0bp8dr7d4z33wd4xva7q219rvz8gc0vvv1vsy73va"; + }; + + buildInputs = [ + ncurses # for tput + procps # for nvim_get_proc() which uses ps(1) + ]; + nativeBuildInputs = [ pandoc ]; + + makeFlags = [ "PREFIX=$(out)" ]; + buildFlags = [ "nvimpager.configured" ]; + preBuild = '' + patchShebangs nvimpager + substituteInPlace nvimpager --replace ':-nvim' ':-${neovim}/bin/nvim' + ''; + + doCheck = true; + checkInputs = [ lua51Packages.busted util-linux neovim ]; + checkPhase = ''script -c "busted --lpath './?.lua' test"''; + + meta = with stdenv.lib; { + description = "Use neovim as pager"; + longDescription = '' + Use neovim as a pager to view manpages, diffs, etc with nvim's syntax + highlighting. Includes a cat mode to print highlighted files to stdout + and a ansi esc mode to highlight ansi escape sequences in neovim. + ''; + homepage = "https://github.com/lucc/nvimpager"; + license = licenses.bsd2; + platforms = platforms.unix; + maintainers = [ maintainers.lucc ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 79c235c5258..c485b7add2f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6165,6 +6165,8 @@ in nssmdns = callPackage ../tools/networking/nss-mdns { }; + nvimpager = callPackage ../tools/misc/nvimpager { }; + nwdiag = with python3Packages; toPythonApplication nwdiag; nxdomain = python3.pkgs.callPackage ../tools/networking/nxdomain { };