From 0ae9f1151e8e5dd06f6f61a2880be260e7faf322 Mon Sep 17 00:00:00 2001 From: Jordan Holt Date: Sat, 20 May 2023 09:22:06 +0100 Subject: [PATCH] Add default mimeapps --- modules/default.nix | 1 + modules/desktop/mimeapps.nix | 145 +++++++++++++++++++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 modules/desktop/mimeapps.nix diff --git a/modules/default.nix b/modules/default.nix index 9342b55..598bd18 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -2,6 +2,7 @@ imports = [ ./options.nix ./desktop/gnome.nix + ./desktop/mimeapps.nix ./desktop/apps/qbittorrent.nix ./desktop/apps/slack.nix ./desktop/apps/zoom.nix diff --git a/modules/desktop/mimeapps.nix b/modules/desktop/mimeapps.nix new file mode 100644 index 0000000..55fc1f9 --- /dev/null +++ b/modules/desktop/mimeapps.nix @@ -0,0 +1,145 @@ +{ config, lib, pkgs, ... }: + +with lib; +with lib.my; +let + cfg = config.modules.desktop.mimeapps; + avApp = "io.github.celluloid_player.Celluloid.desktop"; + imageApp = "org.gnome.eog.desktop"; +in { + options.modules.desktop.mimeapps = { + enable = mkBoolOpt false; + }; + + config = mkIf cfg.enable { + xdg.mime.defaultApplications = { + # Audio/video + "audio/x-vorbis+ogg" = avApp; + "audio/3gpp" = avApp; + "audio/3gpp2" = avApp; + "audio/aac" = avApp; + "audio/ac3" = avApp; + "audio/amr" = avApp; + "audio/amr-wb" = avApp; + "audio/basic" = avApp; + "audio/dv" = avApp; + "audio/eac3" = avApp; + "audio/flac" = avApp; + "audio/m4a" = avApp; + "audio/midi" = avApp; + "audio/mp1" = avApp; + "audio/mp2" = avApp; + "audio/mp3" = avApp; + "audio/mp4" = avApp; + "audio/mpeg" = avApp; + "audio/mpegurl" = avApp; + "audio/mpg" = avApp; + "audio/ogg" = avApp; + "audio/opus" = avApp; + "audio/scpls" = avApp; + "audio/vnd.dolby.heaac.1" = avApp; + "audio/vnd.dolby.heaac.2" = avApp; + "audio/vnd.dolby.mlp" = avApp; + "audio/vnd.dts" = avApp; + "audio/vnd.dts.hd" = avApp; + "audio/vnd.rn-realaudio" = avApp; + "audio/wav" = avApp; + "audio/webm" = avApp; + "audio/x-aac" = avApp; + "audio/x-aiff" = avApp; + "audio/x-ape" = avApp; + "audio/x-flac" = avApp; + "audio/x-gsm" = avApp; + "audio/x-it" = avApp; + "audio/x-m4a" = avApp; + "audio/x-matroska" = avApp; + "audio/x-mod" = avApp; + "audio/x-mp1" = avApp; + "audio/x-mp2" = avApp; + "audio/x-mp3" = avApp; + "audio/x-mpeg" = avApp; + "audio/x-mpegurl" = avApp; + "audio/x-mpg" = avApp; + "audio/x-ms-asf" = avApp; + "audio/x-ms-wma" = avApp; + "audio/x-musepack" = avApp; + "audio/x-pn-aiff" = avApp; + "audio/x-pn-au" = avApp; + "audio/x-pn-realaudio" = avApp; + "audio/x-pn-wav" = avApp; + "audio/x-real-audio" = avApp; + "audio/x-realaudio" = avApp; + "audio/x-s3m" = avApp; + "audio/x-scpls" = avApp; + "audio/x-shorten" = avApp; + "audio/x-speex" = avApp; + "audio/x-tta" = avApp; + "audio/x-vorbis" = avApp; + "audio/x-wav" = avApp; + "audio/x-wavpack" = avApp; + "audio/x-xm" = avApp; + "video/x-ogm+ogg" = avApp; + "video/3gp" = avApp; + "video/3gpp" = avApp; + "video/3gpp2" = avApp; + "video/divx" = avApp; + "video/dv" = avApp; + "video/fli" = avApp; + "video/flv" = avApp; + "video/mp2t" = avApp; + "video/mp4" = avApp; + "video/mp4v-es" = avApp; + "video/mpeg" = avApp; + "video/mpeg-system" = avApp; + "video/msvideo" = avApp; + "video/ogg" = avApp; + "video/quicktime" = avApp; + "video/vnd.mpegurl" = avApp; + "video/vnd.rn-realvideo" = avApp; + "video/webm" = avApp; + "video/x-avi" = avApp; + "video/x-flc" = avApp; + "video/x-fli" = avApp; + "video/x-flv" = avApp; + "video/x-m4v" = avApp; + "video/x-matroska" = avApp; + "video/x-mpeg" = avApp; + "video/x-mpeg-system" = avApp; + "video/x-mpeg2" = avApp; + "video/x-ms-asf" = avApp; + "video/x-ms-wm" = avApp; + "video/x-ms-wmv" = avApp; + "video/x-ms-wmx" = avApp; + "video/x-msvideo" = avApp; + "video/x-nsv" = avApp; + "video/x-theora" = avApp; + "video/x-theora+ogg" = avApp; + + # Images + "image/jpeg" = imageApp; + "image/bmp" = imageApp; + "image/gif" = imageApp; + "image/jpg" = imageApp; + "image/pjpeg" = imageApp; + "image/png" = imageApp; + "image/tiff" = imageApp; + "image/webp" = imageApp; + "image/x-bmp" = imageApp; + "image/x-gray" = imageApp; + "image/x-icb" = imageApp; + "image/x-ico" = imageApp; + "image/x-png" = imageApp; + "image/x-portable-anymap" = imageApp; + "image/x-portable-bitmap" = imageApp; + "image/x-portable-graymap" = imageApp; + "image/x-portable-pixmap" = imageApp; + "image/x-xbitmap" = imageApp; + "image/x-xpixmap" = imageApp; + "image/x-pcx" = imageApp; + "image/svg+xml" = imageApp; + "image/svg+xml-compressed" = imageApp; + "image/vnd.wap.wbmp" = imageApp; + "image/x-icns" = imageApp; + }; + }; +}