From 37b4f2a11f33eb5504c71be37481817866492a62 Mon Sep 17 00:00:00 2001 From: ediblerope Date: Wed, 3 Dec 2025 15:46:37 +0000 Subject: [PATCH] Create gnome-settings.nix --- gnome-settings.nix | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 gnome-settings.nix diff --git a/gnome-settings.nix b/gnome-settings.nix new file mode 100644 index 0000000..c699069 --- /dev/null +++ b/gnome-settings.nix @@ -0,0 +1,51 @@ +# Common.nix +{ config, pkgs, lib, ... }: + +{ + +# Apply GNOME settings on login +systemd.user.services.gnomeSettings = { + description = "Apply GNOME custom settings"; + wantedBy = [ "default.target" ]; + after = [ + "graphical-session.target" + "gnome-session.target" + "gnome-settings-daemon.service" + ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = pkgs.writeShellScript "apply-gnome-settings" '' + LOG=~/gnome-settings.log + echo "---- RUN $(date) ----" >> "$LOG" + + export PATH=${pkgs.glib}/bin:$PATH + export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus" + + # Ensure GNOME is fully ready + sleep 30 + echo "Running settings..." >> "$LOG" + + # Interface / theme + gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' >> "$LOG" 2>&1 + gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark' >> "$LOG" 2>&1 + gsettings set org.gnome.desktop.interface accent-color 'purple' >> "$LOG" 2>&1 + + # Media keys + gsettings set org.gnome.settings-daemon.plugins.media-keys home "['e']" >> "$LOG" 2>&1 + gsettings set org.gnome.settings-daemon.plugins.media-keys control-center "['i']" >> "$LOG" 2>&1 + + # Custom keybinding: Super+T → kgx + gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']" >> "$LOG" 2>&1 + gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'Terminal' >> "$LOG" 2>&1 + gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'kgx' >> "$LOG" 2>&1 + gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding 't' >> "$LOG" 2>&1 + + # Mouse acceleration + gsettings set org.gnome.desktop.peripherals.mouse accel-profile "flat" >> "$LOG" 2>&1 + + echo "DONE" >> "$LOG" + ''; + }; +}; + +}