{ // Extend the Quickshell Omarchy menu with JSONC. // // IDs are object keys. The parent is inferred from the dotted id, so // "personal.notes" appears under "personal", and "personal" appears on the // root menu. Reuse an existing id to override/extend it. // // Fields: // icon Nerd Font glyph shown in the icon column. // label Visible row title. // action Shell command to run. If omitted, the row is a submenu. // target Existing submenu id to open. Use for links/aliases. // provider Runtime provider function/command returning JSON rows. // aliases alternate `omarchy menu summon ` routes; also searchable. // keywords Extra search terms beyond id/label/aliases. // description Optional subtitle and extra search text. // when Shell condition; hide row when it fails. // checked Shell condition; append ✓ when it succeeds. // // Examples: // "personal": {"icon":"","label":"Personal","keywords":"notes projects"}, // "personal.notes": {"icon":"󰎞","label":"Notes","action":"omarchy-launch-editor ~/notes","keywords":"notes"}, // "personal.files": {"icon":"","label":"Files","action":"uwsm-app -- nautilus ~/Documents","keywords":"files documents"}, // // Only use provider when a provider_name function or command named "name" // returns JSON rows. Static submenus only need dotted ids. // // Example: replace the default About action by reusing the same id. Existing // fields are kept unless overridden. // "about": {"icon":"","label":"About","action":"omarchy-launch-or-focus-tui \"zsh -c 'fastfetch; read -k 1'\""}, }