{ pkgs, ... }: { imports = [ ./audio.nix ./hyprland.nix ./rofi/rofi.nix ./sway.nix ../apps/element.nix ../apps/discord.nix ./terminal.nix ]; home = { packages = with pkgs; [ # Desktop Applications signal-desktop gimp3 # Common utilities feh networkmanagerapplet # network control gnome-keyring # Secret management glib # for Gnome/GTK settings gsettings-desktop-schemas # So that we can access gnome settings xdg-desktop-portal-hyprland xdg-desktop-portal-gtk # GTK backend for XDG components like pickers grim # Screenshot provider nwg-look # GTK settings editor playerctl # for universal play/pause etc wirelesstools waypaper # Wallpaper switcher ]; pointerCursor = { enable = true; gtk.enable = true; name = "phinger-cursors"; size = 16; package = pkgs.phinger-cursors; }; # Hint for electron apps to use wayland sessionVariables.NIXOS_OZONE_WL = "1"; # Miscelaneous config files file = { ".XCompose".source = ./config/XCompose; }; }; programs = { # browsers firefox.enable = true; librewolf.enable = true; chromium.enable = true; }; # GTK settings gtk = { enable = true; theme = { name = "Adwaita-dark"; package = pkgs.gnome-themes-extra; }; gtk3.extraConfig = { gtk-application-prefer-dark-theme = true; }; gtk4.extraConfig = { gtk-application-prefer-dark-theme = true; }; }; # This is where the real magic happens to tell the applications to prefer # dark mode. For example, Element reads from this setting. dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; }; # QT theming qt = { enable = true; platformTheme.name = "adwaita"; style.name = "adwaita-dark"; }; # Default apps xdg.mimeApps = { enable = true; defaultApplications = { "text/html" = [ "librewolf.desktop" ]; "default-web-browser" = [ "librewolf.desktop" ]; "x-scheme-handler/http" = [ "librewolf.desktop" ]; "x-scheme-handler/https" = [ "librewolf.desktop" ]; "x-scheme-handler/about" = [ "librewolf.desktop" ]; "x-scheme-handler/unknown" = [ "librewolf.desktop" ]; }; }; home.sessionVariables.DEFAULT_BROWSER = "${pkgs.librewolf}/bin/librewolf"; }