From 7bca7fb6cac0a3d6479ee8dd8fb5f13fa0261a51 Mon Sep 17 00:00:00 2001 From: Mel Date: Mon, 14 Oct 2024 22:15:32 +0200 Subject: Break up configuration for multiple machines Signed-off-by: Mel --- modules/gnome.nix | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 modules/gnome.nix (limited to 'modules/gnome.nix') diff --git a/modules/gnome.nix b/modules/gnome.nix new file mode 100644 index 0000000..7fde00d --- /dev/null +++ b/modules/gnome.nix @@ -0,0 +1,64 @@ +{ config, pkgs, ... }: + +{ + services.xserver.enable = true; + + # i dont like how the icon looks :) + services.xserver.excludePackages = [ pkgs.xterm ]; + + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + + environment.gnome.excludePackages = with pkgs; [ + gnome-console + ]; + + environment.systemPackages = (with pkgs.gnome; [ + gnome-terminal gnome-tweaks dconf-editor + ]) ++ (with pkgs.gnomeExtensions; [ + runcat vitals + ]); + + # legacy apps dark mode support + services.xserver.desktopManager.gnome.extraGSettingsOverrides = '' + # set dark theme for legacy applications + [org.gnome.desktop.interface] + gtk-theme="Adwaita" + + # minimize windows when middle-clicking on titlebar + [org.gnome.desktop.wm.preferences] + action-middle-click-titlebar="minimize" + ''; + + environment.etc = { + "xdg/gtk-2.0/gtkrc".text = '' + gtk-application-prefer-dark-theme = 1 + ''; + "xdg/gtk-3.0/settings.ini".text = '' + [Settings] + gtk-application-prefer-dark-theme = 1 + ''; + "xdg/gtk-4.0/settings.ini".text = '' + [Settings] + gtk-application-prefer-dark-theme = 1 + ''; + }; + + # enable triple buffering which makes mutter supposedly feel smoother + nixpkgs.overlays = [ + # GNOME 46: triple-buffering-v4-46 + (final: prev: { + gnome = prev.gnome.overrideScope (gnomeFinal: gnomePrev: { + mutter = gnomePrev.mutter.overrideAttrs (old: { + src = pkgs.fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "vanvugt"; + repo = "mutter"; + rev = "triple-buffering-v4-46"; + hash = "sha256-C2VfW3ThPEZ37YkX7ejlyumLnWa9oij333d5c4yfZxc="; + }; + }); + }); + }) + ]; +} -- cgit 1.4.1