fixed hotkey config

This commit is contained in:
Leyla Becker 2025-06-25 17:27:18 -05:00
parent 7c61f8617b
commit f8aa299e16
2 changed files with 26 additions and 10 deletions

View file

@ -27,12 +27,6 @@
"show-mounts" = false; "show-mounts" = false;
}; };
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
];
};
"org/gnome/shell" = { "org/gnome/shell" = {
favorite-apps = ["org.gnome.Nautilus.desktop" "firefox.desktop" "codium.desktop" "steam.desktop" "org.gnome.Console.desktop"]; favorite-apps = ["org.gnome.Nautilus.desktop" "firefox.desktop" "codium.desktop" "steam.desktop" "org.gnome.Console.desktop"];
# app-picker-layout = # app-picker-layout =

View file

@ -12,6 +12,10 @@
hotkeys = lib.mkOption { hotkeys = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule ({name, ...}: { type = lib.types.attrsOf (lib.types.submodule ({name, ...}: {
options = { options = {
name = lib.mkOption {
type = lib.types.strMatching "[a-zA-Z0-9_-]+";
default = builtins.replaceStrings [" " "/"] ["_" "-"] name;
};
binding = lib.mkOption { binding = lib.mkOption {
type = lib.types.str; type = lib.types.str;
}; };
@ -35,13 +39,31 @@
}; };
} }
( (
builtins.listToAttrs ( lib.mkMerge (
lib.lists.imap0 ( builtins.map (value: let
i: value: lib.attrsets.nameValuePair "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${toString i}" value entry = "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/${value.name}";
in {
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"${entry}/"
];
};
${entry} = value;
})
(
lib.attrsets.mapAttrsToList (_: value: value) config.gnome.hotkeys
) )
(lib.attrsets.mapAttrsToList (_: value: value) config.gnome.hotkeys)
) )
) )
# (
# builtins.listToAttrs (
# lib.lists.imap0 (
# i: value: lib.attrsets.nameValuePair "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom${toString i}" value
# )
# (lib.attrsets.mapAttrsToList (_: value: value) config.gnome.hotkeys)
# )
# )
# "org/gnome/settings-daemon/plugins/media-keys" = { # "org/gnome/settings-daemon/plugins/media-keys" = {
# custom-keybindings = [ # custom-keybindings = [
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" # "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"