nixos-configuration/modules/gnome.nix
Vinzenz Schroeter e8762f575f deadnix -e
2025-03-17 19:06:47 +01:00

108 lines
2.5 KiB
Nix

{ pkgs, ... }:
{
config = {
services = {
xserver = {
# Enable the GNOME Desktop Environment.
desktopManager.gnome = {
enable = true;
extraGSettingsOverridePackages = [ pkgs.mutter ];
extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
'';
};
displayManager.gdm.enable = true;
excludePackages = with pkgs; [ xterm ];
};
displayManager.defaultSession = "gnome";
gnome = {
tinysparql.enable = false;
localsearch.enable = false;
sushi.enable = true;
gnome-remote-desktop.enable = true;
};
};
programs = {
dconf.enable = true;
gpaste.enable = true;
kdeconnect.package = pkgs.gnomeExtensions.gsconnect;
};
# remove some gnome default apps
environment.gnome.excludePackages = with pkgs; [
cheese # photo booth
epiphany # web browser
evince # document viewer
geary # email client
gnome-maps
gnome-weather
gnome-tour
gnome-contacts
sysprof
orca # screen reader
gnome-disk-utility
gnome-system-monitor
gnome-weather
gnome-backgrounds
gnome-user-docs
gnome-calendar
yelp # help app
# gnome-music
# totem # video player
# snapshot # camera
# baobab # disk usage
];
environment.systemPackages = with pkgs; [
ghex
impression
];
# RDP connections
networking.firewall.allowedTCPPorts = [ 3389 ];
home-manager.sharedModules = [
{
home.packages =
with pkgs;
[
gitg
meld
simple-scan
pinta
dconf-editor
gpaste
# graphical installer for flatpak apps
gnome-software
]
++ (with gnomeExtensions; [
caffeine
appindicator
]);
dconf.settings = import ./gnome-shared-dconf.nix;
gtk = {
enable = true;
iconTheme.name = "Adwaita";
cursorTheme.name = "Adwaita";
theme = {
name = "adw-gtk3-dark";
package = pkgs.adw-gtk3;
};
};
}
{
home.packages = with pkgs; [ trayscale ] ++ (with gnomeExtensions; [ tailscale-qs ]);
dconf.settings."org/gnome/shell".enabled-extensions = [ "tailscale@joaophi.github.com" ];
}
];
};
}