{ config, pkgs, lib, ... }: { options.my.gnome.enable = lib.mkEnableOption { }; config = lib.mkIf config.my.gnome.enable { services.xserver.enable = true; services.displayManager.gdm.enable = true; services.desktopManager.gnome = { enable = true; # Enable VRR (Variable Refresh Rate) extraGSettingsOverridePackages = with pkgs; [ mutter ]; extraGSettingsOverrides = '' [org.gnome.mutter] experimental-features=['variable-refresh-rate', 'scale-monitor-framebuffer'] ''; }; # Workaround for https://github.com/NixOS/nixpkgs/issues/103746 systemd.services."getty@tty1".enable = false; systemd.services."autovt@tty1".enable = false; services.displayManager.autoLogin = { enable = true; user = "lelgenio"; }; programs.kdeconnect = { enable = true; package = pkgs.gnomeExtensions.gsconnect; }; hardware.opentabletdriver.enable = lib.mkForce false; programs.gpaste.enable = true; environment.systemPackages = with pkgs; [ gnome-tweaks dconf-editor gnome-browser-connector gnomeExtensions.quick-settings-audio-devices-hider gnomeExtensions.user-themes gnome-pass-search-provider ]; }; }