created hotkey generator

This commit is contained in:
Leyla Becker 2025-06-25 14:30:12 -05:00
parent 4825c5ec5e
commit 7c61f8617b
2 changed files with 40 additions and 12 deletions

View file

@ -4,6 +4,12 @@
extensions = [ extensions = [
pkgs.gnomeExtensions.dash-to-dock pkgs.gnomeExtensions.dash-to-dock
]; ];
hotkeys = {
"Open Terminal" = {
binding = "<Super>t";
command = "kgx";
};
};
}; };
dconf = { dconf = {
@ -27,12 +33,6 @@
]; ];
}; };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Super>t";
command = "kgx";
name = "Open Terminal";
};
"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

@ -9,17 +9,45 @@
default = []; default = [];
description = "The set of extensions to install and enable in the user environment."; description = "The set of extensions to install and enable in the user environment.";
}; };
hotkeys = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule ({name, ...}: {
options = {
binding = lib.mkOption {
type = lib.types.str;
};
command = lib.mkOption {
type = lib.types.str;
};
};
}));
default = {};
};
}; };
config = { config = {
home.packages = config.gnome.extensions; home.packages = config.gnome.extensions;
dconf = { dconf = {
settings = { settings = lib.mkMerge [
"org/gnome/shell" = { {
disable-user-extensions = false; # enables user extensions "org/gnome/shell" = {
enabled-extensions = builtins.map (extension: extension.extensionUuid) config.gnome.extensions; disable-user-extensions = false; # enables user extensions
}; enabled-extensions = builtins.map (extension: extension.extensionUuid) config.gnome.extensions;
}; };
}
(
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/"
# ];
# };
];
}; };
}; };
} }