mailcap
authorTomas Zeman <tomas@functionals.cz>
Wed, 27 May 2020 23:35:43 +0200
changeset 5 a844e4f15b4e
parent 4 956d340b23d8
child 6 94969af29f58
mailcap
home.nix
mailcap.nix
--- a/home.nix	Wed May 27 08:44:12 2020 +0200
+++ b/home.nix	Wed May 27 23:35:43 2020 +0200
@@ -11,6 +11,7 @@
 {
   imports = [
     ./idea.nix
+    ./mailcap.nix
   ];
 
   home.packages = [
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mailcap.nix	Wed May 27 23:35:43 2020 +0200
@@ -0,0 +1,63 @@
+{ pkgs, ... }:
+
+let
+
+  entries = [
+    (mkItem "${pkgs.libreoffice}/bin/soffice" [
+      "application/vnd.sun.xml.writer"
+      "application/vnd.sun.xml.writer.global"
+      "application/vnd.stardivision.writer"
+      "application/vnd.stardivision.writer-global"
+      "application/x-starwriter"
+      "application/vnd.sun.xml.writer.template"
+      "application/vnd.sun.xml.calc"
+      "application/vnd.stardivision.calc"
+      "application/x-starcalc"
+      "application/vnd.sun.xml.calc.template"
+      "application/excel"
+      "application/msexcel"
+      "application/vnd.ms-excel"
+      "application/x-msexcel"
+      "application/vnd.sun.xml.impress"
+      "application/vnd.stardivision.impress"
+      "application/vnd.stardivision.impress-packed"
+      "application/x-starimpress"
+      "application/vnd.sun.xml.impress.template"
+      "application/powerpoint"
+      "application/mspowerpoint"
+      "application/vnd.ms-powerpoint"
+      "application/x-mspowerpoint"
+      "application/vnd.sun.xml.draw"
+      "application/vnd.stardivision.draw"
+      "application/x-stardraw"
+      "application/vnd.sun.xml.draw.template"
+      "application/vnd.sun.xml.math"
+      "application/vnd.stardivision.math"
+      "application/x-starmath"
+    ])
+    (mkItem "less" [
+      "application/x-sh"
+      "text/*"
+    ])
+    (mkItem "${pkgs.mupdf}/bin/mupdf-x11" [ "application/pdf" ])
+    (mkItem "${pkgs.feh}/bin/feh" [ "image/*" ])
+    (mkItem "${pkgs.antiword}/bin/antiword" [
+      "application/msword"
+      "application/octet-stream"
+    ])
+    (mkItem "${pkgs.lynx}/bin/lynx -dump -force-html" [ "text/html" ])
+
+  ];
+
+  mkItem = p: t: {
+    prg = p; types = t;
+  };
+
+  mkPrg = { prg, types }:
+    builtins.concatStringsSep "\n" (map (v: "${v};${prg} %s") types);
+
+in {
+  home.file.".mailcap".text = ''
+    ${builtins.concatStringsSep "\n" (map mkPrg entries)}
+  '';
+}