From 6e154ea31454eefa8619a605e2b0cf250edb26c5 Mon Sep 17 00:00:00 2001 From: Ibrahim Muftee Date: Sun, 26 Jul 2026 19:31:42 -0400 Subject: feat(nvim): consolidate obsidian vaults --- dot_config/nvim/lua/ibrahim/plugins/obsidian.lua | 79 ++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 dot_config/nvim/lua/ibrahim/plugins/obsidian.lua (limited to 'dot_config/nvim/lua/ibrahim/plugins/obsidian.lua') diff --git a/dot_config/nvim/lua/ibrahim/plugins/obsidian.lua b/dot_config/nvim/lua/ibrahim/plugins/obsidian.lua new file mode 100644 index 0000000..c189063 --- /dev/null +++ b/dot_config/nvim/lua/ibrahim/plugins/obsidian.lua @@ -0,0 +1,79 @@ +-- vim:ft=lua + +return { + "epwalsh/obsidian.nvim", + version = "*", -- recommended, use latest release instead of latest commit + lazy = true, + ft = "markdown", + -- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault: + -- event = { + -- -- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'. + -- -- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/**.md" + -- "BufReadPre path/to/my-vault/**.md", + -- "BufNewFile path/to/my-vault/**.md", + -- }, + keys = { + { "ob", vim.cmd.ObsidianBacklinks, desc = "Open Obsidian backlinks" }, + { "o/", vim.cmd.ObsidianSearch, desc = "Open Obsidian search" }, + { "op", vim.cmd.ObsidianQuickSwitch, desc = "Open Obsidian find files" }, + { "on", vim.cmd.ObsidianNew, desc = "Create new Obsidian note" }, + { "ot", vim.cmd.ObsidianToday, desc = "Open today's Obsidian daily note" }, + { "oy", vim.cmd.ObsidianYesterday, desc = "Open yesterday's Obsidian daily note" }, + { "ow", vim.cmd.ObsidianTomorrow, desc = "Open tomorrow's Obsidian daily note" }, + { "od", vim.cmd.ObsidianDailyNote, desc = "Open daily Obsidian note" }, + }, + dependencies = { + -- Required. + "nvim-lua/plenary.nvim", + + -- Optional + "hrsh7th/nvim-cmp", + "nvim-telescope/telescope.nvim", + "nvim-treesitter/nvim-treesitter", + }, + opts = { + workspaces = { + { + name = "vault", + path = "~/Documents/Vault", + }, + + }, + + notes_subdir = "inbox", + new_notes_location = "notes_subdir", + + ---@param title string + ---@return string + note_id_func = function(title) + local id = title:gsub(" ", "%-"):lower() + return id + end, + + templates = { + folder = "templates", + date_format = "%Y-%m-%d-%a", + substitutions = { + friendly_date_format = function() + return os.date("%A %B %d, %Y") + end + }, + }, + + daily_notes = { + folder = "dailies", + date_format = "%Y-%m-%d-%a", + alias_format = "%Y-%m-%d-%a", + template = "daily.md", + }, + + callbacks = { + enter_note = function() + -- The folds are too much for these notes + vim.opt_local.foldlevel = 99 + vim.opt_local.foldlevelstart = 99 + end, + }, + + }, +} -- cgit v1.2.3