121 lines
3.7 KiB
Nix
121 lines
3.7 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
lib.mkMerge [
|
|
/*
|
|
|
|
https://wiki.nixos.org/wiki/GNOME
|
|
|
|
*/
|
|
|
|
|
|
(lib.optionalAttrs (lib.versionOlder lib.version "25.11") {
|
|
services.xserver.enable = true;
|
|
services.xserver.displayManager.gdm.enable = true;
|
|
services.xserver.displayManager.gdm.wayland = true;
|
|
services.xserver.desktopManager.gnome.enable = true;
|
|
})
|
|
(lib.optionalAttrs (lib.versionAtLeast lib.version "25.11") {
|
|
services.displayManager.gdm.enable = true;
|
|
services.desktopManager.gnome.enable = true;
|
|
})
|
|
|
|
{
|
|
# services.xserver.enable = true;
|
|
# services.xserver.displayManager.gdm.enable = true;
|
|
# services.xserver.displayManager.gdm.wayland = true;
|
|
# services.xserver.desktopManager.gnome.enable = true;
|
|
|
|
#services.printing.enable = true; # CUPS, done in printing.nix
|
|
programs.xwayland.enable = true;
|
|
xdg.portal.enable = true;
|
|
|
|
qt.enable = true;
|
|
qt.platformTheme = "gnome";
|
|
qt.style = "adwaita-dark";
|
|
|
|
# support GConf-based applications
|
|
# services.dbus.packages = [ pkgs.gnome2.GConf ];
|
|
|
|
# Enable system tray icons (used by gnomeExtensions.appindicator)
|
|
services.udev.packages = [ pkgs.gnome-settings-daemon ];
|
|
|
|
# programs.dconf.profiles.user.databases = [
|
|
# {
|
|
# settings."org/gnome/mutter".experimental-features = [
|
|
# # "scale-monitor-framebuffer" # Enables fractional scaling (125% 150% 175%)
|
|
# # "variable-refresh-rate" # Enables Variable Refresh Rate (VRR) on compatible displays
|
|
# # "xwayland-native-scaling" # Scales Xwayland applications to look crisp on HiDPI screens
|
|
# ];
|
|
# }
|
|
# ];
|
|
|
|
programs.gnome-terminal.enable = false;
|
|
|
|
services.tumbler.enable = true; # TODO: needed when we have ffmpegthumbnailer?
|
|
services.gnome.sushi.enable = true; # quick previewer for nautilus
|
|
# services.gnome.gnome-online-accounts.enable = true; # Gnome SSO service
|
|
|
|
# for managing gnome extensions with firefox, assumes programs.firefox.enable
|
|
services.gnome.gnome-browser-connector.enable = true;
|
|
|
|
environment.systemPackages = [
|
|
pkgs.pavucontrol
|
|
pkgs.lxterminal # TODO: remove?
|
|
pkgs.ghostty
|
|
|
|
pkgs.gnome-tweaks
|
|
pkgs.refine # Tweak various aspects of GNOME
|
|
|
|
# pkgs.thumbler # TODO?
|
|
pkgs.ffmpegthumbnailer
|
|
pkgs.libheif.bin # provides heif-thumbnailer, the program that generates HEIF thumbnails
|
|
pkgs.libheif.out # provides heif.thumbnailer, allows for the viewing of HEIF thumbnails
|
|
pkgs.gnomeExtensions.appindicator
|
|
|
|
pkgs.decibels # audio player
|
|
pkgs.dconf-editor
|
|
|
|
pkgs.loupe # eog replacement
|
|
pkgs.shotwell # image editor
|
|
# pkgs.gnome-clocks
|
|
|
|
pkgs.desktop-file-utils # update-desktop-database
|
|
];
|
|
|
|
# an attempt to make nautilus discover new files, but it proved to be a freebsd-linux incompatiblity
|
|
# inotify is a linux thing, and freebsd instead features kqueue.
|
|
# nfs likely doesn't support such events anyway, predating inotify.
|
|
#kernel.sysctl = {
|
|
# "fs.inotify.max_user_watches" = "100000";
|
|
#};
|
|
# possible future fix:
|
|
# https://en.wikipedia.org/wiki/File_Alteration_Monitor
|
|
# or https://github.com/fsnotify/fsnotify
|
|
|
|
environment.gnome.excludePackages = [
|
|
pkgs.gnome-console
|
|
pkgs.gnome-terminal
|
|
pkgs.gnome-photos
|
|
pkgs.gnome-tour
|
|
pkgs.gnome-maps
|
|
pkgs.gedit # text editor (24.05 vs 23.11)
|
|
# pkgs.papers # Document Viewer (new)
|
|
pkgs.eog
|
|
#pkgs.cheese # webcam tool
|
|
#pkgs.baobab # Disk Usage Analyser
|
|
pkgs.simple-scan # scanning utility
|
|
pkgs.yelp # Help
|
|
pkgs.gnome-music
|
|
pkgs.evince # Document Viewer
|
|
pkgs.epiphany # web browser
|
|
pkgs.geary # email reader
|
|
pkgs.showtime # video player
|
|
pkgs.totem # video player
|
|
pkgs.tali # poker game
|
|
pkgs.iagno # go game
|
|
pkgs.hitori # sudoku game
|
|
pkgs.atomix # puzzle game
|
|
];
|
|
}
|
|
|
|
]
|