{ pkgs , lib , config , ... }: with lib; let cfg = config.home.gnome; in mkIf cfg.enable { global.flatpak.enable = mkDefault true; home.catppuccin.enable = mkDefault false; catppuccin.enable = false; programs.regreet.enable = false; services.xserver.enable = true; services.xserver.displayManager.startx.enable = false; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; services.hardware.bolt.enable = true; xdg.portal.configPackages = with pkgs; [ gnome.gnome-session ]; hardware.pulseaudio.enable = false; environment.gnome.excludePackages = (with pkgs; [ snapshot gnome-tour ] ++ optionals config.global.flatpak.enable [ baobab simple-scan evince file-roller geary loupe seahorse totem epiphany gnome-calculator gnome-calendar gnome-connections gnome-font-viewer gnome-text-editor gnome-characters gnome-clocks gnome-contacts gnome-logs gnome-maps gnome-music gnome-weather ]) ++ (with pkgs.gnome; [ ] ++ optionals config.global.flatpak.enable [ ]); users.home.persist.directories = [ ".config/dconf" ]; users.home.persist.files = [ ".config/monitors.xml" ]; environment.persistence."/nix/persist/fhs".directories = [ ]; }