main
 1{lib, ...}: {
 2  den.aspects.desktop.env.utils = {user, ...}: {
 3    nixos = {pkgs, ...}: {
 4      environment.systemPackages = with pkgs; [
 5        pkgs.wl-clipboard-rs
 6
 7        nautilus
 8
 9        # Thumbnail
10        # Image
11        gdk-pixbuf
12        libheif
13        webp-pixbuf-loader
14        # Video
15        ffmpeg-headless
16        ffmpegthumbnailer
17      ];
18
19      programs.nautilus-open-any-terminal =
20        lib.optionalAttrs
21        (lib.hasAttrByPath ["desktop" "terminal" "default"] user.system.settings)
22        {
23          enable = true;
24          terminal = user.system.settings.desktop.terminal.default;
25        };
26
27      services.tumbler.enable = true; # Thumbnail support
28    };
29
30    homeManager = {pkgs, ...}: {
31      home.packages = with pkgs; [
32        loupe # Image viewer
33      ];
34
35      xdg.mimeApps.defaultApplications = {
36        "image/*" = "org.gnome.Loupe.desktop";
37        "image/jpeg" = "org.gnome.Loupe.desktop";
38        "image/png" = "org.gnome.Loupe.desktop";
39        "image/gif" = "org.gnome.Loupe.desktop";
40        "image/bmp" = "org.gnome.Loupe.desktop";
41        "image/svg+xml" = "org.gnome.Loupe.desktop";
42        "image/webp" = "org.gnome.Loupe.desktop";
43        "image/avif" = "org.gnome.Loupe.desktop";
44      };
45
46      xdg.configFile."mimeapps.list".force = true;
47      xdg.mimeApps.enable = true;
48    };
49  };
50}