summaryrefslogtreecommitdiffstats
path: root/docs/html-open-tool.nix
blob: d430d24be20dfd5d39d2b1ee97be7bf527528fba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
  writeShellScriptBin,
  makeDesktopItem,
  symlinkJoin,
  html,
}: let
  helpScript = writeShellScriptBin "nvf-help" ''
    set -euo pipefail

    if [[ ! -v BROWSER || -z $BROWSER ]]; then
      for candidate in xdg-open open w3m; do
        BROWSER="$(type -P $candidate || true)"
        if [[ -x $BROWSER ]]; then
          break;
        fi
      done
    fi

    if [[ ! -v BROWSER || -z $BROWSER ]]; then
      echo "$0: unable to start a web browser; please set \$BROWSER"
      exit 1
    else
      exec "$BROWSER" "${html}/share/doc/nvf/index.xhtml"
    fi
  '';

  desktopItem = makeDesktopItem {
    name = "nvf-manual";
    desktopName = "nvf Manual";
    genericName = "View nvf documentation in a web browser";
    icon = "nix-snowflake";
    exec = "${helpScript}/bin/nvf-help";
    categories = ["System"];
  };
in
  symlinkJoin {
    name = "nvf-help";
    paths = [
      helpScript
      desktopItem
    ];
  }