From 186c797ad57a2c1d735726774e54e92f39766755 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20Av=C3=A9?= <email@thomasave.be>
Date: Thu, 13 Jun 2024 18:04:20 +0200
Subject: [PATCH] Move some services to desktop.nix

---
 home/firefox/default.nix  | 10 ++++++++++
 home/hyprland/default.nix | 30 +-----------------------------
 home/utils/desktop.nix    | 34 ++++++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 29 deletions(-)

diff --git a/home/firefox/default.nix b/home/firefox/default.nix
index 66710db..70219f9 100644
--- a/home/firefox/default.nix
+++ b/home/firefox/default.nix
@@ -91,9 +91,19 @@ in
   };
 
   xdg.mimeApps.defaultApplications = {
+    "application/json" = [ "firefox.desktop" ];
+    "application/x-extension-htm" = [ "firefox.desktop" ];
+    "application/x-extension-html" = [ "firefox.desktop" ];
+    "application/x-extension-shtml" = [ "firefox.desktop" ];
+    "application/x-extension-xhtml" = [ "firefox.desktop" ];
+    "application/x-extension-xht" = [ "firefox.desktop" ];
+    "application/xhtml+xml" = [ "firefox.desktop" ];
     "text/html" = [ "firefox.desktop" ];
     "text/xml" = [ "firefox.desktop" ];
+    "x-scheme-handler/about" = [ "firefox.desktop" ];
+    "x-scheme-handler/ftp" = [ "firefox.desktop" ];
     "x-scheme-handler/http" = [ "firefox.desktop" ];
+    "x-scheme-handler/unknown" = [ "firefox.desktop" ];
     "x-scheme-handler/https" = [ "firefox.desktop" ];
   };
 }
diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix
index bfc828b..ade8ade 100644
--- a/home/hyprland/default.nix
+++ b/home/hyprland/default.nix
@@ -61,40 +61,12 @@ let
         fi
     fi
   '';
-in
-{
-  services.kdeconnect = {
-    enable = true;
-    package = pkgs.kdePackages.kdeconnect-kde;
-    indicator = true;
-  };
-
+in {
   home.packages = [
     pkgs.wl-clipboard
     pkgs.jq
   ];
 
-  gtk = {
-    enable = true;
-    theme = {
-      package = pkgs.gnome.gnome-themes-extra;
-      name = "Adwaita-dark";
-    };
-    iconTheme = {
-      name = "Papirus";
-      package = pkgs.papirus-icon-theme;
-    };
-  };
-
-  home.pointerCursor = {
-    gtk.enable = true;
-    name = "Adwaita";
-    size = 28;
-    package = pkgs.gnome.adwaita-icon-theme;
-  };
-
-  services.cliphist = { enable = true; };
-
   services.hyprpaper = {
     enable = true;
     settings = {
diff --git a/home/utils/desktop.nix b/home/utils/desktop.nix
index 13ecd28..9cb75da 100644
--- a/home/utils/desktop.nix
+++ b/home/utils/desktop.nix
@@ -11,6 +11,7 @@
     ../ssh
     ../mpv
   ];
+
   home.packages = with pkgs; [
     telegram-desktop
     webcord
@@ -20,4 +21,37 @@
     evince
     loupe
   ];
+
+  services.kdeconnect = {
+    enable = true;
+    package = pkgs.kdePackages.kdeconnect-kde;
+    indicator = true;
+  };
+
+  gtk = {
+      enable = true;
+      theme = {
+          package = pkgs.gnome.gnome-themes-extra;
+          name = "Adwaita-dark";
+      };
+      iconTheme = {
+          name = "Papirus";
+          package = pkgs.papirus-icon-theme;
+      };
+  };
+
+  home.pointerCursor = {
+      gtk.enable = true;
+      name = "Adwaita";
+      size = 28;
+      package = pkgs.gnome.adwaita-icon-theme;
+  };
+
+  services.cliphist = { enable = true; };
+
+  xdg.mimeApps.defaultApplications = {
+      "application/pdf" = "org.gnome.Evince.desktop";
+      "video/*" = "mpv.desktop";
+      "audio/*" = "mpv.desktop";
+  };
 }