{ lib, config, pkgs, hostname, gpu, ... }: { # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; # Configure keymap in X11 services.xserver = { enable = true; layout = "us"; xkbVariant = ""; autorun = true; videoDrivers = [ ] ++ lib.optional (builtins.isString gpu) gpu; }; ##### disable nvidia, very nice battery life. # hardware.nvidiaOptimus.disable = lib.mkDefault true; services.xserver = { # https://nixos.org/manual/nixos/stable/index.html#chap-gnome # Enable the GNOME Desktop Environment. displayManager.gdm.enable = true; desktopManager.gnome.enable = true; desktopManager.gnome.extraGSettingsOverrides = '' [org.gnome.login-screen] banner-message-enable=true banner-message-text='Test'; ''; }; # Set Gnome settings: services.gnome = { games.enable = false; core-utilities.enable = true; gnome-remote-desktop.enable = true; }; # Set the firewall ports for gnome-remote-desktop: networking.firewall.interfaces.tailscale0.allowedTCPPorts = [ 3389 ]; # https://nixos.wiki/wiki/GNOME # Remove unwanted packages environment.gnome.excludePackages = (with pkgs; [ gnome.cheese gnome.gnome-music gnome.epiphany gnome.geary gnome.totem gnome.gnome-characters gnome-tour gnome-photos gnome.yelp gnome.gnome-font-viewer gnome-connections gnome.gnome-contacts gnome.gnome-logs gnome.gnome-maps gnome.simple-scan ]); environment.systemPackages = with pkgs; [ # Gnome Extensions gnomeExtensions.tiling-assistant gnomeExtensions.dash-to-dock gnomeExtensions.blur-my-shell gnomeExtensions.vitals gnomeExtensions.user-themes gnomeExtensions.caffeine gnomeExtensions.hibernate-status-button gnomeExtensions.night-theme-switcher # Gnome relevant packages gnome3.gnome-tweaks papirus-icon-theme dconf2nix # https://github.com/gvolpe/dconf2nix # Tweak libadwaita themes gradience adw-gtk3 ]; imports = [ # Gnome Themes ./themes/gruvbox.nix ./themes/tokyo-night.nix ./themes/nordic.nix ./themes/vimix.nix ./themes/fluent.nix # You may need to edit which theme you're using in dconf.nix if you remove themes ]; }