nix/modules/desktop.nix
2025-10-28 21:03:26 +01:00

68 lines
1.6 KiB
Nix

{ config, pkgs, lib, ... }:
{
# GNOME Desktop Environment
services.xserver.enable = true;
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
# Keyboard layout
services.xserver.xkb = {
layout = "us";
options = "";
};
# Exclude unwanted GNOME default packages
environment.gnome.excludePackages = with pkgs; [
gnome-tour
gnome-console # terminal (using Ghostty instead)
gnome-text-editor # text editor (using Neovim instead)
gnome-connections # remote desktop client
gnome-font-viewer # font viewer
seahorse # passwords and keys
baobab # disk usage analyzer
gnome-disk-utility # disks
gnome-logs # logs viewer
gnome-system-monitor # system monitor
decibels # audio player
epiphany # GNOME web browser
file-roller # archive manager
geary # GNOME email client
gnome-music
gnome-photos
gnome-maps
gnome-weather
gnome-contacts
gnome-clocks
gnome-calculator
gnome-calendar
gnome-characters
simple-scan
snapshot # camera
totem # video player
yelp # help viewer
];
# XDG portal for proper desktop integration
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
];
};
# Touchpad configuration
services.libinput = {
enable = true;
touchpad = {
naturalScrolling = true;
tapping = true;
};
};
# System packages for GNOME
environment.systemPackages = with pkgs; [
hicolor-icon-theme # Fallback icon theme
];
}