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;
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
];
};
"org/gnome/shell" = {
favorite-apps = ["org.gnome.Nautilus.desktop" "firefox.desktop" "codium.desktop" "steam.desktop" "org.gnome.Console.desktop"];
# app-picker-layout =

View file

@ -12,6 +12,10 @@
hotkeys = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule ({name, ...}: {
options = {
name = lib.mkOption {
type = lib.types.strMatching "[a-zA-Z0-9_-]+";
default = builtins.replaceStrings [" " "/"] ["_" "-"] name;
};
binding = lib.mkOption {
type = lib.types.str;
};
@ -35,13 +39,31 @@
};
}
(
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)
lib.mkMerge (
builtins.map (value: let
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
)
)
)
# (
# 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" = {
# custom-keybindings = [
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"