--- 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)}
+ '';
+}