Files
system-config/home-manager/features/linux-desktop.nix

102 lines
2.4 KiB
Nix

{ 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;
qutebrowser.enable = true;
librewolf.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";
}