about summary refs log tree commit diff
path: root/users/sterni/dot-time-man-pages/default.nix
blob: 7ba295c6afbfcba4947e409216f37dac9db4d67d (plain) (blame)
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
{ depot, pkgs, lib, ... }:

let
  # get the email address of a depot user from //ops/users
  findEmail = user:
    let
      res = builtins.filter ({ username, ... }: username == user) depot.ops.users;
      len = builtins.length res;
    in
    if len == 1
    then (builtins.head res).email
    else builtins.throw "findEmail: got ${toString len} results instead of 1";
in
pkgs.runCommand "dot-time-man-pages"
{
  nativeBuildInputs = [
    pkgs.buildPackages.installShellFiles
    pkgs.buildPackages.mandoc
  ];
} ''
  manPage="./dot-time.7"
  cp --reflink=auto "${
    pkgs.replaceVars ./dot-time.7 (lib.genAttrs [ "sterni" "edef" ] findEmail)
  }" "$manPage"

  mandoc -T lint -W warning "$manPage"

  installManPage "$manPage"
  compressManPages "$out"
''