config/profiles/desktop/gnome/default.nix

70 lines
2.3 KiB
Nix

{ 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
]);
}