From 1b2698e629bd7842c1cbcedc9f12f8eac01172f7 Mon Sep 17 00:00:00 2001 From: John Lancaster <32917998+jsl12@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:39:20 -0500 Subject: [PATCH] added gnome key bindings --- modules/features/gnome.nix | 98 +++++++++++++++++++++++++++++--------- 1 file changed, 75 insertions(+), 23 deletions(-) diff --git a/modules/features/gnome.nix b/modules/features/gnome.nix index 936620a..34bf5d8 100644 --- a/modules/features/gnome.nix +++ b/modules/features/gnome.nix @@ -18,29 +18,6 @@ }; flake.modules.homeManager.gnome = { config, pkgs, ... }: { - dconf.settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - "org/gnome/shell" = { - disable-user-extensions = false; - - # `gnome-extensions list` for a list - enabled-extensions = with pkgs.gnomeExtensions; [ - appindicator.extensionUuid - gtile.extensionUuid - space-bar.extensionUuid - switcher.extensionUuid - tactile.extensionUuid - vitals.extensionUuid - dash-to-panel.extensionUuid - ]; - }; - "org/gnome/desktop/wm/preferences" = { - button-layout = ":minimize,close"; - }; - }; - gtk = { enable = true; theme = { @@ -60,5 +37,80 @@ gnomeExtensions.tactile gnomeExtensions.vitals ]; + + dconf.settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + + "org/gnome/shell" = { + disable-user-extensions = false; + + # `gnome-extensions list` for a list + enabled-extensions = with pkgs.gnomeExtensions; [ + appindicator.extensionUuid + gtile.extensionUuid + space-bar.extensionUuid + switcher.extensionUuid + tactile.extensionUuid + vitals.extensionUuid + dash-to-panel.extensionUuid + ]; + }; + + "org/gnome/desktop/wm/preferences" = { + button-layout = ":minimize,close"; + }; + + "org/gnome/desktop/wm/keybindings" = { + "switch-to-workspace-1" = ["1"]; + "switch-to-workspace-2" = ["2"]; + "switch-to-workspace-3" = ["3"]; + "switch-to-workspace-4" = ["4"]; + "move-to-workspace-1" = ["1"]; + "move-to-workspace-2" = ["2"]; + "move-to-workspace-3" = ["3"]; + "move-to-workspace-4" = ["4"]; + }; + + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/edit-nix/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-browser/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/ad-dev/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/shutdown/" + ]; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/edit-nix" = { + binding = "n"; + command = "code /etc/nixos"; + name = "Edit Nix config"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-browser" = { + binding = "b"; + command = "brave"; + name = "Launch Brave browser"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/ad-dev" = { + binding = "d"; + command = ''code --file-uri "vscode-remote://ssh-remote+ad-nix/etc/nixos/ad-nix.code-workspace"''; + name = "Launch AppDaemon Development over Tailscale"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/ws1" = { + binding = "1"; + command = "wmctrl -s 0"; + name = "Switch to workspace 1"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/shutdown" = { + binding = "p"; + command = "gnome-session-quit --power-off --force"; + name = "Shutdown immediately"; + }; + }; }; } \ No newline at end of file