mailcap.nix
author Tomas Zeman <tomas@functionals.cz>
Wed, 27 May 2020 23:35:43 +0200
changeset 5 a844e4f15b4e
child 6 94969af29f58
permissions -rw-r--r--
mailcap
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     1
{ pkgs, ... }:
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     2
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     3
let
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     4
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     5
  entries = [
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     6
    (mkItem "${pkgs.libreoffice}/bin/soffice" [
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     7
      "application/vnd.sun.xml.writer"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     8
      "application/vnd.sun.xml.writer.global"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
     9
      "application/vnd.stardivision.writer"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    10
      "application/vnd.stardivision.writer-global"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    11
      "application/x-starwriter"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    12
      "application/vnd.sun.xml.writer.template"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    13
      "application/vnd.sun.xml.calc"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    14
      "application/vnd.stardivision.calc"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    15
      "application/x-starcalc"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    16
      "application/vnd.sun.xml.calc.template"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    17
      "application/excel"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    18
      "application/msexcel"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    19
      "application/vnd.ms-excel"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    20
      "application/x-msexcel"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    21
      "application/vnd.sun.xml.impress"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    22
      "application/vnd.stardivision.impress"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    23
      "application/vnd.stardivision.impress-packed"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    24
      "application/x-starimpress"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    25
      "application/vnd.sun.xml.impress.template"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    26
      "application/powerpoint"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    27
      "application/mspowerpoint"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    28
      "application/vnd.ms-powerpoint"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    29
      "application/x-mspowerpoint"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    30
      "application/vnd.sun.xml.draw"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    31
      "application/vnd.stardivision.draw"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    32
      "application/x-stardraw"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    33
      "application/vnd.sun.xml.draw.template"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    34
      "application/vnd.sun.xml.math"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    35
      "application/vnd.stardivision.math"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    36
      "application/x-starmath"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    37
    ])
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    38
    (mkItem "less" [
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    39
      "application/x-sh"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    40
      "text/*"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    41
    ])
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    42
    (mkItem "${pkgs.mupdf}/bin/mupdf-x11" [ "application/pdf" ])
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    43
    (mkItem "${pkgs.feh}/bin/feh" [ "image/*" ])
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    44
    (mkItem "${pkgs.antiword}/bin/antiword" [
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    45
      "application/msword"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    46
      "application/octet-stream"
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    47
    ])
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    48
    (mkItem "${pkgs.lynx}/bin/lynx -dump -force-html" [ "text/html" ])
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    49
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    50
  ];
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    51
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    52
  mkItem = p: t: {
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    53
    prg = p; types = t;
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    54
  };
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    55
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    56
  mkPrg = { prg, types }:
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    57
    builtins.concatStringsSep "\n" (map (v: "${v};${prg} %s") types);
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    58
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    59
in {
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    60
  home.file.".mailcap".text = ''
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    61
    ${builtins.concatStringsSep "\n" (map mkPrg entries)}
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    62
  '';
a844e4f15b4e mailcap
Tomas Zeman <tomas@functionals.cz>
parents:
diff changeset
    63
}