101 lines
2.4 KiB
Nix
101 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
|
|
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";
|
|
}
|