diff --git a/hosts/flubber-machine/default.nix b/hosts/flubber-machine/default.nix index b7d5e61..cdcb241 100755 --- a/hosts/flubber-machine/default.nix +++ b/hosts/flubber-machine/default.nix @@ -19,7 +19,7 @@ # debug strace ltrace lsof crosspipe # apps - firefox qalculate-gtk krita inkscape libreoffice-fresh vlc nicotine-plus transmission_4-gtk font-manager obs-studio imhex pwvucontrol nautilus gnome-disk-utility gnome-text-editor baobab file-roller mission-center loupe gnome-weather kdePackages.kdenlive video-trimmer handbrake blanket blockbench + firefox qalculate-gtk krita inkscape libreoffice-fresh vlc nicotine-plus transmission_4-gtk font-manager obs-studio imhex pwvucontrol nautilus gnome-disk-utility gnome-text-editor baobab file-roller mission-center gnome-weather kdePackages.kdenlive video-trimmer handbrake blanket blockbench # misc bat file which packwiz yt-dlp fastfetch hyfetch trashy wev # games @@ -101,6 +101,7 @@ system.syncthing.enable = true; system.flatpak.enable = true; system.mpv.enable = true; + system.loupe.enable = true; system.ananicy.enable = true; system.kdeconnect.enable = true; system.virt-manager.enable = true; diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 17bdd90..cd55728 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -19,7 +19,7 @@ # debug strace ltrace lsof crosspipe # apps - firefox qalculate-gtk krita inkscape libreoffice-fresh vlc nicotine-plus transmission_4-gtk font-manager obs-studio imhex pwvucontrol nautilus gnome-disk-utility gnome-text-editor baobab file-roller mission-center loupe gnome-weather kdePackages.kdenlive video-trimmer handbrake blanket blockbench + firefox qalculate-gtk krita inkscape libreoffice-fresh vlc nicotine-plus transmission_4-gtk font-manager obs-studio imhex pwvucontrol nautilus gnome-disk-utility gnome-text-editor baobab file-roller mission-center gnome-weather kdePackages.kdenlive video-trimmer handbrake blanket blockbench # misc bat file which packwiz yt-dlp fastfetch hyfetch trashy wev # games @@ -89,6 +89,7 @@ system.syncthing.enable = true; system.flatpak.enable = true; system.mpv.enable = true; + system.loupe.enable = true; system.ananicy.enable = true; system.kdeconnect.enable = true; # editors diff --git a/modules/software/system/loupe.nix b/modules/software/system/loupe.nix new file mode 100644 index 0000000..e1d645c --- /dev/null +++ b/modules/software/system/loupe.nix @@ -0,0 +1,29 @@ +{ 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" ]; + }; + }; +}