{ cfg }: { lib, pkgs, ... }: { config = lib.mkIf cfg.enable { home-manager.sharedModules = [ ( { lib, ... }: with lib.hm.gvariant; { # use `dconf dump /` before and after and diff the files for easy editing of dconf below # dconf dump / > /tmp/dconf_dump_start && watch -n0.5 "dconf dump / > /tmp/dconf_dump_current && \diff --color /tmp/dconf_dump_start /tmp/dconf_dump_current -U12" # To get nix specific diff: # \diff -u /tmp/dconf_dump_start /tmp/dconf_dump_current | grep '^+[^+]' | sed 's/^+//' | dconf2nix # OR (Must be logged into user directly, no SU to user will work): `dconf watch /` # OR get the exact converted nixConfig from `dconf dump / | dconf2nix | less` and search with forward slash dconf.settings = { "org/gnome/shell" = { favorite-apps = [ ]; enabled-extensions = with pkgs.gnomeExtensions; [ vertical-workspaces.extensionUuid compact-top-bar.extensionUuid tray-icons-reloaded.extensionUuid vitals.extensionUuid ]; }; # Plugin Settings "org/gnome/shell/extensions/vertical-workspaces" = { animation-speed-factor = 42; center-dash-to-ws = false; dash-bg-color = 0; dash-position = 2; dash-position-adjust = 0; hot-corner-action = 0; startup-state = 1; ws-switcher-wraparound = true; }; "org/gnome/shell/extensions/compact-top-bar" = { fade-text-on-fullscreen = true; }; "org/gnome/shell/extensions/vitals" = { position-in-panel = 1; }; # Built in settings "org/gnome/desktop/session" = { idle-delay = mkUint32 0; }; "org/gnome/desktop/wm/preferences" = { resize-with-right-button = true; button-layout = "maximize:appmenu,close"; audible-bell = false; wrap-around = true; }; "org/gnome/settings-daemon/plugins/media-keys" = { # Disable the lock screen shortcut screensaver = [ "" ]; custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" ]; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { binding = "Return"; command = cfg.terminalCommand; name = "Launch terminal"; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { binding = "Space"; command = "wofi"; name = "Launcher"; }; "org/gnome/desktop/wm/keybindings" = { minimize = [ "" ]; move-to-workspace-1 = [ "" ]; move-to-workspace-2 = [ "" ]; move-to-workspace-3 = [ "" ]; move-to-workspace-4 = [ "" ]; move-to-workspace-last = [ "" ]; move-to-workspace-down = [ "j" ]; move-to-workspace-up = [ "k" ]; # move-to-workspace-left = [ "h" ]; # move-to-workspace-right = [ "l" ]; switch-input-source = [ ]; switch-input-source-backward = [ ]; switch-to-workspace-1 = [ "1" ]; switch-to-workspace-2 = [ "2" ]; switch-to-workspace-3 = [ "3" ]; switch-to-workspace-4 = [ "4" ]; switch-to-workspace-last = [ "" ]; switch-to-workspace-down = [ "j" ]; switch-to-workspace-up = [ "k" ]; # switch-to-workspace-left = [ "k" ]; # switch-to-workspace-right = [ "j" ]; # move-to-monitor-down = [ "j" ]; # move-to-monitor-up = [ "k" ]; move-to-monitor-left = [ "h" ]; move-to-monitor-right = [ "l" ]; unmaximize = [ "j" ]; maximize = [ "k" ]; }; "org/gnome/mutter" = { dynamic-workspaces = true; edge-tiling = true; workspaces-only-on-primary = true; center-new-windows = true; }; "org/gnome/mutter/keybindings" = { toggle-tiled-right = [ "l" ]; toggle-tiled-left = [ "h" ]; }; "org/gnome/settings-daemon/plugins/power" = { power-button-action = "nothing"; sleep-inactive-ac-type = "nothing"; sleep-inactive-battery-type = "nothing"; idle-brightness = 15; power-saver-profile-on-low-battery = false; }; "org/gnome/desktop/background" = { color-shading-type = "solid"; picture-options = "zoom"; picture-uri = "file://" + (./black.png); picture-uri-dark = "file://" + (./black.png); primary-color = "#000000000000"; secondary-color = "#000000000000"; }; "org/gnome/desktop/screensaver" = { lock-enabled = false; idle-activation-enabled = false; picture-options = "zoom"; picture-uri = "file://" + (./black.png); picture-uri-dark = "file://" + (./black.png); }; "org/gnome/desktop/applications/terminal" = { exec = "alacritty"; }; "org/gnome/settings-daemon/plugins/color" = { night-light-enabled = false; night-light-schedule-automatic = false; }; "org/gnome/shell/keybindings" = { shift-overview-down = [ "" ]; shift-overview-up = [ "" ]; switch-to-application-1 = [ "" ]; switch-to-application-2 = [ "" ]; switch-to-application-3 = [ "" ]; switch-to-application-4 = [ "" ]; switch-to-application-5 = [ "" ]; switch-to-application-6 = [ "" ]; switch-to-application-7 = [ "" ]; switch-to-application-8 = [ "" ]; switch-to-application-9 = [ "" ]; toggle-quick-settings = [ "" ]; toggle-application-view = [ "" ]; }; "org/gtk/gtk4/settings/file-chooser" = { show-hidden = true; }; "org/gnome/desktop/interface" = { accent-color = "orange"; show-battery-percentage = true; clock-show-date = true; clock-show-seconds = true; clock-show-weekday = true; color-scheme = "prefer-dark"; cursor-size = 24; enable-animations = true; enable-hot-corners = false; font-antialiasing = "grayscale"; font-hinting = "slight"; gtk-theme = "Adwaita-dark"; # icon-theme = "Yaru-magenta-dark"; }; "org/gnome/desktop/notifications" = { application-children = [ "org-gnome-tweaks" ]; }; "org/gnome/desktop/notifications/application/org-gnome-tweaks" = { application-id = "org.gnome.tweaks.desktop"; }; "org/gnome/desktop/peripherals/mouse" = { natural-scroll = false; }; "org/gnome/desktop/peripherals/touchpad" = { disable-while-typing = true; two-finger-scrolling-enabled = true; natural-scroll = true; }; "org/gnome/tweaks" = { show-extensions-notice = false; }; }; } ) ]; }; }