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