{ lib, util, ... }: { checks = [ { assertion = util.registry.predicates.uniqueValue (entry: entry.value.keys); message = "Desktop keybinds must use unique key chords."; } ]; type = lib.types.submodule { options = { keys = lib.mkOption { type = lib.types.str; example = "SUPER + Return"; description = "Sets the key chord for this desktop keybind."; }; action = lib.mkOption { type = lib.types.submodule { options = { kind = lib.mkOption { type = lib.types.enum [ "exec" ]; description = "Selects the keybind action kind."; }; command = lib.mkOption { type = lib.types.str; example = "ghostty"; description = "Command executed by this keybind."; }; }; }; description = "Declares the action this keybind runs."; }; }; }; }