{ config, pkgs, ... }: { 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 programs.xwayland.enable = true; xdg.portal.enable = true; services.udev.packages = [ (pkgs.gnome-settings-daemon or pkgs.gnome.gnome-settings-daemon) ]; programs.gnome-terminal.enable = false; services.tumbler.enable = true; # TODO: needed when we have ffmpegthumbnailer? services.gnome.sushi.enable = true; services.gnome.gnome-online-accounts.enable = true; services.gnome.gnome-browser-connector.enable = true; environment.systemPackages = with pkgs; [ firefox pavucontrol lxterminal (pkgs.gnome-tweaks or pkgs.gnome.gnome-tweaks) # TODO: shadow gnome-terminal ffmpegthumbnailer libheif # HEIF thumbnails gnomeExtensions.appindicator loupe 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 = (with pkgs; [ gnome-photos gnome-tour (pkgs.gedit or pkgs.gnome.gedit) # text editor (24.05 vs 23.11) papers # Document Viewer (new) (pkgs.eog or pkgs.gnome.eog) #pkgs.cheese # webcam tool #pkgs.baobab # Disk Usage Analyser (pkgs.simple-scan or pkgs.gnome.simple-scan) # scanning utility (pkgs.yelp or pkgs.gnome.yelp) # Help (pkgs.evince or pkgs.gnome.evince) # Document Viewer (pkgs.gnome-music or pkgs.gnome.gnome-music) (pkgs.gnome-terminal or pkgs.gnome.gnome-terminal) (pkgs.epiphany or pkgs.gnome.epiphany) # web browser (pkgs.geary or pkgs.gnome.geary) # email reader (pkgs.totem or pkgs.gnome.totem) # video player (pkgs.tali or pkgs.gnome.tali) # poker game (pkgs.iagno or pkgs.gnome.iagno) # go game (pkgs.hitori or pkgs.gnome.hitori) # sudoku game (pkgs.atomix or pkgs.gnome.atomix) # puzzle game ]); }