From 5969f2ba9fda4666fdcda8493f26e3fb5796e873 Mon Sep 17 00:00:00 2001 From: William Date: Tue, 21 Oct 2025 10:22:05 -0300 Subject: [PATCH] default desktop programs --- hosts/modules/desktop/desktop.nix | 8 +- users/modules/desktop/desktop.nix | 118 +++++++++++++++++++++++++++--- 2 files changed, 112 insertions(+), 14 deletions(-) diff --git a/hosts/modules/desktop/desktop.nix b/hosts/modules/desktop/desktop.nix index d3e8083..c265af7 100644 --- a/hosts/modules/desktop/desktop.nix +++ b/hosts/modules/desktop/desktop.nix @@ -21,9 +21,9 @@ ### Web ### bitwarden-desktop brave + fragments nextcloud-client tor-browser - qbittorrent vesktop inputs.zen-browser.packages."${system}".default ### Office & Productivity ### @@ -39,7 +39,6 @@ ### Graphics & Design ### gimp inkscape - loupe plasticity ### System Utilities ### adwaita-icon-theme @@ -55,9 +54,10 @@ toggleaudiosink unrar ### Media ### - mpv + decibels + loupe obs-studio - qview + showtime ]; }; diff --git a/users/modules/desktop/desktop.nix b/users/modules/desktop/desktop.nix index 21a9451..16e2a82 100644 --- a/users/modules/desktop/desktop.nix +++ b/users/modules/desktop/desktop.nix @@ -39,18 +39,116 @@ indicator = true; }; - gtk = { - enable = true; - gtk3.extraConfig = { - gtk-decoration-layout = "appmenu:"; - }; - gtk4.extraConfig = { - gtk-decoration-layout = "appmenu:"; - }; - }; - xdg = { enable = true; userDirs.enable = true; + + mimeApps = { + enable = true; + defaultApplications = { + # Web browsing (priority: Junction > Zen > Brave > Tor) + "text/html" = [ + "com.github.timecraft.junction.desktop" + "zen-browser.desktop" + "brave-browser.desktop" + "torbrowser.desktop" + ]; + "x-scheme-handler/http" = [ + "com.github.timecraft.junction.desktop" + "zen-browser.desktop" + "brave-browser.desktop" + "torbrowser.desktop" + ]; + "x-scheme-handler/https" = [ + "com.github.timecraft.junction.desktop" + "zen-browser.desktop" + "brave-browser.desktop" + "torbrowser.desktop" + ]; + "x-scheme-handler/about" = [ + "com.github.timecraft.junction.desktop" + "zen-browser.desktop" + "brave-browser.desktop" + "torbrowser.desktop" + ]; + "x-scheme-handler/unknown" = [ + "com.github.timecraft.junction.desktop" + "zen-browser.desktop" + "brave-browser.desktop" + "torbrowser.desktop" + ]; + + # Images + "image/jpeg" = "org.gnome.Loupe.desktop"; + "image/png" = "org.gnome.Loupe.desktop"; + "image/gif" = "org.gnome.Loupe.desktop"; + "image/webp" = "org.gnome.Loupe.desktop"; + "image/bmp" = "org.gnome.Loupe.desktop"; + "image/svg+xml" = "org.gnome.Loupe.desktop"; + "image/tiff" = "org.gnome.Loupe.desktop"; + + # Video + "video/mp4" = "io.bassi.Showtime.desktop"; + "video/x-matroska" = "io.bassi.Showtime.desktop"; + "video/webm" = "io.bassi.Showtime.desktop"; + "video/mpeg" = "io.bassi.Showtime.desktop"; + "video/x-msvideo" = "io.bassi.Showtime.desktop"; + "video/quicktime" = "io.bassi.Showtime.desktop"; + "video/x-flv" = "io.bassi.Showtime.desktop"; + + # Audio + "audio/mpeg" = "io.bassi.Showtime.desktop"; + "audio/flac" = "io.bassi.Showtime.desktop"; + "audio/ogg" = "io.bassi.Showtime.desktop"; + "audio/wav" = "io.bassi.Showtime.desktop"; + "audio/mp4" = "io.bassi.Showtime.desktop"; + "audio/x-opus+ogg" = "io.bassi.Showtime.desktop"; + + # PDF and documents (priority: Papers > Zen Browser) + "application/pdf" = [ + "org.gnome.Papers.desktop" + "zen-browser.desktop" + ]; + + # Text files (Ghostty + Helix) + "text/plain" = "Helix.desktop"; + "text/markdown" = "Helix.desktop"; + "text/x-log" = "Helix.desktop"; + "application/x-shellscript" = "Helix.desktop"; + + # Office documents + "application/vnd.openxmlformats-officedocument.wordprocessingml.document" = + "onlyoffice-desktopeditors.desktop"; # DOCX + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" = + "onlyoffice-desktopeditors.desktop"; # XLSX + "application/vnd.openxmlformats-officedocument.presentationml.presentation" = + "onlyoffice-desktopeditors.desktop"; # PPTX + "application/vnd.oasis.opendocument.text" = "onlyoffice-desktopeditors.desktop"; # ODT + "application/vnd.oasis.opendocument.spreadsheet" = "onlyoffice-desktopeditors.desktop"; # ODS + "application/vnd.oasis.opendocument.presentation" = "onlyoffice-desktopeditors.desktop"; # ODP + "application/msword" = "onlyoffice-desktopeditors.desktop"; # DOC + "application/vnd.ms-excel" = "onlyoffice-desktopeditors.desktop"; # XLS + "application/vnd.ms-powerpoint" = "onlyoffice-desktopeditors.desktop"; # PPT + + # Archives + "application/zip" = "org.gnome.FileRoller.desktop"; + "application/x-tar" = "org.gnome.FileRoller.desktop"; + "application/x-compressed-tar" = "org.gnome.FileRoller.desktop"; + "application/x-bzip-compressed-tar" = "org.gnome.FileRoller.desktop"; + "application/x-xz-compressed-tar" = "org.gnome.FileRoller.desktop"; + "application/x-7z-compressed" = "org.gnome.FileRoller.desktop"; + "application/x-rar" = "org.gnome.FileRoller.desktop"; + "application/gzip" = "org.gnome.FileRoller.desktop"; + "application/x-bzip" = "org.gnome.FileRoller.desktop"; + + # File manager + "inode/directory" = "org.gnome.Nautilus.desktop"; + }; + }; + }; + + # Set Ghostty as default terminal + home.sessionVariables = { + TERMINAL = "ghostty"; }; }