pager: init at 1.0.0

This commit is contained in:
tv 2022-04-05 22:16:29 +02:00
parent 8d3688ecfd
commit 1407ad3502
2 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,23 @@
{ mkDerivation, base, blessings, bytestring, containers
, data-default, hack, lib, optparse-applicative, probability
, scanner, speculate, split, terminal-size, text, unix, X11
, fetchgit
}:
mkDerivation {
pname = "pager";
version = "1.0.0";
src = fetchgit {
url = "https://cgit.krebsco.de/pager";
sha256 = "1kqd27faxinkwpxancyk0xl6n7ljlc8iqhnnq85l76bk4qi9b45i";
rev = "f4cdf79bd4a75e9eafe68b9a908f4cc68682b7ef";
fetchSubmodules = true;
};
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
base blessings bytestring containers data-default hack
optparse-applicative probability scanner speculate split
terminal-size text unix X11
];
license = lib.licenses.mit;
}

View File

@ -0,0 +1,34 @@
{ pkgs }:
pkgs.writeDashBin "pager" ''
# usage: pager {view,shift,shiftview}
#
# Environment variables
#
# PAGER_NAME (default: Pager)
# The environment variables specifies the application name under which
# resources are to be obtained. PAGER_NAME should not contain “.” or “*”
# characters.
#
set -efu
pidfile=$XDG_RUNTIME_DIR/pager.lock
name=''${PAGER_NAME-Pager}
if test -e "$pidfile" &&
${pkgs.procps}/bin/pgrep --pidfile="$pidfile" >/dev/null
then
${pkgs.procps}/bin/pkill --pidfile="$pidfile"
${pkgs.coreutils}/bin/rm "$pidfile"
exit
fi
echo $$ > "$pidfile"
exec ${pkgs.xterm}/bin/xterm \
-name "$name" \
-ti vt340 \
-xrm 'Pager*geometry: 32x10' \
-xrm 'Pager*internalBorder: 2' \
-e ${pkgs.haskellPackages.pager}/bin/pager "$@"
''