From a0e848276e9990485f5ff1b7ffe3445943165315 Mon Sep 17 00:00:00 2001 From: matt1432 <matt@nelim.org> Date: Sat, 5 Apr 2025 19:53:35 -0400 Subject: [PATCH] fix(desktop): fix application associations in dolphin --- .../desktop/environment/config/mimeapps.list | 13 +++- .../desktop/environment/modules/dolphin.nix | 74 ++++++++++++++----- .../desktop/environment/modules/packages.nix | 8 ++ 3 files changed, 75 insertions(+), 20 deletions(-) diff --git a/modules/desktop/environment/config/mimeapps.list b/modules/desktop/environment/config/mimeapps.list index 7105f7f0..513f634e 100644 --- a/modules/desktop/environment/config/mimeapps.list +++ b/modules/desktop/environment/config/mimeapps.list @@ -1,13 +1,20 @@ [Added Associations] -application/pdf=firefox.desktop; +application/pdf=firefox-devedition.desktop;wine-extension-pdf.desktop;okularApplication_pdf.desktop;com.github.xournalpp.xournalpp.desktop;draw.desktop;sioyek.desktop; +application/zip=org.kde.ark.desktop;org.prismlauncher.PrismLauncher.desktop; image/jpeg=org.photoqt.PhotoQt.desktop;wine-extension-jpe.desktop;satty.desktop;okularApplication_kimgio.desktop;wine-extension-jfif.desktop; image/png=swayimg.desktop;okularApplication_kimgio.desktop;firefox.desktop;satty.desktop; +text/plain=nvim.desktop;writer.desktop;okularApplication_txt.desktop;wine-extension-txt.desktop; text/x-java=nvim.desktop; [Default Applications] -application/pdf=firefox.desktop; -image/jpeg=org.photoqt.PhotoQt.desktop; +application/pdf=firefox-devedition.desktop; +application/zip=org.kde.ark.desktop; +image/jpeg=swayimg.desktop; image/png=swayimg.desktop; +text/plain=nvim.desktop; text/x-java=nvim.desktop; x-scheme-handler/discord-712465656758665259=discord-712465656758665259.desktop x-scheme-handler/ror2mm=r2modman.desktop + +[Removed Associations] +application/pdf=firefox-3.desktop;firefox-2.desktop; diff --git a/modules/desktop/environment/modules/dolphin.nix b/modules/desktop/environment/modules/dolphin.nix index f3406120..116e2ba5 100644 --- a/modules/desktop/environment/modules/dolphin.nix +++ b/modules/desktop/environment/modules/dolphin.nix @@ -8,11 +8,8 @@ cfg = config.roles.desktop; in { + # https://github.com/NixOS/nixpkgs/blob/443424323ed4ff51b4f4314af39e0f57bb103586/nixos/modules/services/desktop-managers/plasma6.nix config = mkIf cfg.enable { - environment.systemPackages = [ - pkgs.kdePackages.kio-admin - ]; - # To make it work with firefox # https://www.reddit.com/r/NixOS/comments/xtoubc/comment/koxxr3e/?utm_source=share&utm_medium=web2x&context=3 systemd.user.services.plasma-dolphin = { @@ -29,26 +26,69 @@ in { }; }; - home-manager.users.${cfg.user}.home.packages = attrValues { - inherit - (pkgs) - gnome-calculator - ; + services.udisks2.enable = true; + + # Enable GTK applications to load SVG icons + programs.gdk-pixbuf.modulePackages = [pkgs.librsvg]; + + # Fix application associations + home-manager.users.${cfg.user}.xdg.configFile."menus/applications.menu" + .source = "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu"; + + environment.systemPackages = attrValues { + # Complete apps inherit (pkgs.kdePackages) - kde-cli-tools ark - kcharselect - kdenlive - okular dolphin + kcharselect + kmenuedit + kinfocenter + plasma-systemmonitor + ksystemstats + libksysguard + systemsettings + kcmutils + ; + + # globally loadable bits + inherit + (pkgs.kdePackages) + frameworkintegration # provides Qt plugin + kauth # provides helper service + kcoreaddons # provides extra mime type info + kded # provides helper service + kfilemetadata # provides Qt plugins + kguiaddons # provides geo URL handlers + kiconthemes # provides Qt plugins + kimageformats # provides Qt plugins + qtimageformats # provides optional image formats such as .webp and .avif + kio # provides helper service + a bunch of other stuff + kio-admin # managing files as admin + kio-extras # stuff for MTP, AFC, etc + kio-fuse # fuse interface for KIO + kpackage # provides kpackagetool tool + kservice # provides kbuildsycoca6 tool + kunifiedpush # provides a background service and a KCM + plasma-activities # provides plasma-activities-cli tool + solid # provides solid-hardware6 tool + phonon-vlc # provides Phonon plugin + ; + + inherit + (pkgs) + xdg-user-dirs + ; + + inherit + (pkgs.kdePackages) + baloo-widgets dolphin-plugins - kdegraphics-thumbnailers ffmpegthumbs - kio - kio-admin # needs to be both here and in system pkgs - kio-extras + kde-cli-tools + kdegraphics-thumbnailers kmime + qtsvg ; }; }; diff --git a/modules/desktop/environment/modules/packages.nix b/modules/desktop/environment/modules/packages.nix index 1c7e6dd4..64d8e336 100644 --- a/modules/desktop/environment/modules/packages.nix +++ b/modules/desktop/environment/modules/packages.nix @@ -160,6 +160,13 @@ in { }; home.packages = attrValues { + # KDE packages + inherit + (pkgs.kdePackages) + kdenlive + okular + ; + # School inherit (pkgs.hunspellDicts) en_CA; inherit @@ -173,6 +180,7 @@ in { # Apps inherit (pkgs) + gnome-calculator jellyfin-media-player nextcloud-client protonmail-desktop # run with `XDG_SESSION_TYPE=x11 proton-mail` if it crashes https://github.com/NixOS/nixpkgs/issues/365156