{ config, pkgs, ... }: { imports = [ ./plasma/default.nix ./emacs/default.nix ./terminal/default.nix ./browser/default.nix ./zathura/default.nix ./services/email/default.nix ./services/calendar/default.nix ]; home = { packages = with pkgs; [ webcord signal-desktop whatsapp-for-linux x2goclient ]; file.${config.gtk.gtk2.configLocation}.force = true; # Stop clashing with KDE }; services.syncthing.enable = true; programs.mpv.enable = true; gtk = { enable = true; gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; iconTheme = { package = pkgs.papirus-icon-theme; name = "Papirus"; }; }; qt = { enable = true; style = { name = "adwaita"; package = pkgs.adwaita-qt; }; }; xdg = { mime.enable = true; mimeApps = let defaultApplications = import ./mimeapps/default.nix; in { enable = true; inherit defaultApplications; associations.added = defaultApplications; }; userDirs = { enable = true; createDirectories = true; extraConfig = { XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects"; }; }; configFile = { # Ensure GTK config is set "gtk-3.0/gtk.css".force = true; "gtk-3.0/settings.ini".force = true; "gtk-4.0/gtk.css".force = true; "gtk-4.0/settings.ini".force = true; # Autostart some programs "autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop"; "autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source = "${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop"; }; }; }