From 6aa29a5f501efa19a0ddc38fcc9db95a7f9ac975 Mon Sep 17 00:00:00 2001 From: Henri Saudubray Date: Tue, 20 Jan 2026 23:46:46 +0100 Subject: [PATCH] feat (home/dconf): custom keybindings --- home/home.nix | 59 ++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/home/home.nix b/home/home.nix index 2e74aac..deb04a9 100644 --- a/home/home.nix +++ b/home/home.nix @@ -224,36 +224,33 @@ show-battery-percentage = true; }; "org/gnome/desktop/wm/preferences".button-layout = "appmenu:minimize,maximize,close"; - - ## FIXME: Figure out why this does not work. - - # "org/gnome/desktop/wm/keybindings" = { - # switch-applications = [ "grave" ]; - # switch-applications-backwards = [ "grave" ]; - # switch-windows = [ "Tab" ]; - # switch-windows-backwards = [ "Tab" ]; - # }; - # "org/gnome/settings-daemon/plugins/media-keys".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" = { - # name = "Terminal"; - # command = "blackbox"; - # binding = "Return"; - # }; - # "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { - # name = "Dark mode switcher"; - # command = "${pkgs.writeShellScript "gnome-dark-mode-switcher" '' - # SCHEMA=org.gnome.desktop.interface - # KEY=color-scheme - # if [ "$(gsettings get "$SCHEMA" "$KEY")" = "'prefer-dark'" ]; then - # gsettings set "$SCHEMA" "$KEY" "prefer-light"; - # else - # gsettings set "$SCHEMA" "$KEY" "prefer-dark"; - # fi - # ''}"; - # binding = "d"; - # }; + "org/gnome/desktop/wm/keybindings" = { + switch-applications = [ "grave" ]; + switch-applications-backwards = [ "grave" ]; + switch-windows = [ "Tab" ]; + switch-windows-backwards = [ "Tab" ]; + }; + "org/gnome/settings-daemon/plugins/media-keys".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" = { + name = "Terminal"; + command = "blackbox"; + binding = "Return"; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { + name = "Dark mode switcher"; + command = "${pkgs.writeShellScript "gnome-dark-mode-switcher" '' + SCHEMA=org.gnome.desktop.interface + KEY=color-scheme + if [ "$(gsettings get "$SCHEMA" "$KEY")" = "'prefer-dark'" ]; then + gsettings set "$SCHEMA" "$KEY" "prefer-light"; + else + gsettings set "$SCHEMA" "$KEY" "prefer-dark"; + fi + ''}"; + binding = "d"; + }; }; }