{ config, lib, pkgs, ... }: with lib; let cfg = config.modules.software.system.loupe; in { options.modules.software.system.loupe = { enable = mkEnableOption "Enable loupe, a versatile image viewer"; }; config = mkIf cfg.enable { hm.home.packages = with pkgs; [ loupe ]; # https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types/Common_types hm.xdg.mimeApps.defaultApplications = { "image/apng" = [ "org.gnome.Loupe.desktop" ]; "image/avif" = [ "org.gnome.Loupe.desktop" ]; "image/bmp" = [ "org.gnome.Loupe.desktop" ]; "image/gif" = [ "org.gnome.Loupe.desktop" ]; "image/jpeg" = [ "org.gnome.Loupe.desktop" ]; "image/png" = [ "org.gnome.Loupe.desktop" ]; "image/svg+xml" = [ "org.gnome.Loupe.desktop" ]; "image/tiff" = [ "org.gnome.Loupe.desktop" ]; "image/webp" = [ "org.gnome.Loupe.desktop" ]; # ts too niche to be a Common Type "image/jxl" = [ "org.gnome.Loupe.desktop" ]; }; }; }