diff options
Diffstat (limited to 'krebs')
| -rw-r--r-- | krebs/5pkgs/haskell/pager.nix | 23 | ||||
| -rw-r--r-- | krebs/5pkgs/simple/pager.nix | 36 | 
2 files changed, 59 insertions, 0 deletions
diff --git a/krebs/5pkgs/haskell/pager.nix b/krebs/5pkgs/haskell/pager.nix new file mode 100644 index 000000000..3c9f80466 --- /dev/null +++ b/krebs/5pkgs/haskell/pager.nix @@ -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; +} diff --git a/krebs/5pkgs/simple/pager.nix b/krebs/5pkgs/simple/pager.nix new file mode 100644 index 000000000..ed740490d --- /dev/null +++ b/krebs/5pkgs/simple/pager.nix @@ -0,0 +1,36 @@ +{ 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' \ +      -xrm 'Pager*background: #050505' \ +      -xrm 'Pager*foreground: #d0d7d0' \ +      -e ${pkgs.haskellPackages.pager}/bin/pager "$@" +''  | 
