Omarchy Shell Plugin for Obsidian Search
A beautiful Obsidian vault search menu. Type to filter notes with fuzzy ranking, open one with Enter, or create a new note when nothing matches.

Features
- Fuzzy search across your vault, ranked by relevance
- Search by frontmatter aliases, with the full file name always shown
- Daily notes included, resolved from your daily-notes settings
- Today's daily note pinned on top, opened or created with one Enter
- Support for bases and canvas files as well
- Create a missing note directly from the menu
- Open notes in Obsidian, omawrite, Neovim, or any command you configure
Requirements
- Omarchy quattro
- Obsidian
fd,jq, andpython3(preinstalled on Omarchy)
Install
omarchy plugin add https://github.com/BibekBhusal0/omarchy-obsidian-search.git --enable
Demo

Usage
Bind the menu to a key (~/.config/hypr/bindings.lua):
o.bind("SUPER", "O", "exec, omarchy-shell shell summon bibek.obsidian-search")
Type to filter, Enter opens the selected note, Escape closes. A query that matches nothing creates query.md in the vault root. With an empty query the first row is always today's daily note, opened via Obsidian's obsidian://daily URI (it creates the note when missing). Typing daily or today keeps that row pinned on top.
Shortcuts: Up/Down, Ctrl+K/Ctrl+J, or Ctrl+P/Ctrl+N to move, PageUp/PageDown to jump, Enter to open with the configured opener. Alt+O to force-open the selected note in Obsidian, Alt+W to open it in omawrite, Alt+N to open it in Neovim.
Where notes open
Regular notes open in your configured opener (Obsidian by default). Everything else always opens in Obsidian:
- Today's daily note and daily-note files
- Canvas files
- Bases
- Templates
So Alt+W and Alt+N only change anything for regular notes. Creating a missing note also follows the opener: Obsidian creates it for you by default, while an external opener gets an empty file created first and then opened in that app.
Configuration
The vault is auto-detected from ~/.config/obsidian/obsidian.json by default. Daily notes are shown by default: the plugin reads the daily folder from .obsidian/daily-notes.json (or the periodic-notes plugin when it manages daily notes), and only hides that exact folder when you opt out. The today's-note pin needs the daily-notes (or periodic-notes daily) plugin enabled in the vault; it opens via obsidian://daily, so no filename or folder setup is needed for it.
Override settings in ~/.config/omarchy/obsidian-search.json (watched live, so edits apply instantly and re-list the vault):
{
"vaultPath": "/path/to/your/vault",
"showDailyNotes": true,
"showTemplates": false,
"opener": "obsidian"
}
vaultPath: vault directory. Defaults to the first vault in the Obsidian config.showDailyNotes: show daily notes in results. Defaulttrue. Today's-note pin is always shown regardless.showTemplates: also list files under the templates folder. Defaultfalse.opener: how notes open with Enter. Default"obsidian". Use"omawrite"to edit in omawrite,"neovim"(or"nvim") to edit in Neovim inside a terminal, or any other command that takes a file path (for example"code"or"xdg-open").
Uninstall
omarchy plugin remove bibek.obsidian-search
Credits
Fuzzy matching uses FuzzySearch.js, adapted from omarchy-raindrop-bookmarks by Trevor Ramey, licensed under the MIT License.
This plugin is licensed under the MIT License.
Others
Here are my other Omarchy plugins:
- Focusd - pomodoro timer with streak, history and daily goal
- Readest - fuzzy-search your Readest library
- Youtube Video Downloader - video downloads with progress and history
- Better Lock - lock screen with date/time, media and power controls
- Better Media - MPRIS now-playing with playback controls
- Better Menu - fuzzy menu with app grid, calculator and web search
Please give a star if you find them useful!