nvim My personal Neovim config
git clone https://git.muftee.net/nvim.git
Log | Files | Refs

commit 330625801727f3b4b1ce4f967cb8a42fd4c94aca
parent 21da15c9b0cff74bdea2e5c54d69341dd35add22
Author: Ibrahim Muftee <ibrahim@muftee.net>
Date:   Sun, 13 Sep 2026 05:19:50 -0500

Add Obsidian plugin

Diffstat:
Minit.lua | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mnvim-pack-lock.json | 5+++++
2 files changed, 67 insertions(+), 0 deletions(-)

diff --git a/init.lua b/init.lua @@ -4,6 +4,7 @@ vim.opt.autoindent = true vim.opt.backup = false vim.opt.breakindent = true +vim.opt.conceallevel = 2 vim.opt.expandtab = true vim.opt.ignorecase = true vim.opt.number = true @@ -85,8 +86,69 @@ map("n", "<leader>cc", "<cmd>make %<cr><esc>", { desc = "Compile shortcut" }) vim.pack.add { 'https://github.com/stevearc/oil.nvim', 'https://github.com/nvim-treesitter/nvim-treesitter', + { src = "https://github.com/obsidian-nvim/obsidian.nvim", version = vim.version.range "*", }, } +-- Obsidian +require("obsidian").setup { + legacy_commands = false, -- TODO: Remove legacy commands when/if this gets updated to v4.0 + + map("n", "<leader>ob", vim.cmd.ObsidianBacklinks, { desc = "Open Obsidian backlinks" }), + map("n", "<leader>o/", vim.cmd.ObsidianSearch, { desc = "Open Obsidian search" }), + map("n", "<leader>op", vim.cmd.ObsidianQuickSwitch, { desc = "Open Obsidian find files" }), + map("n", "<leader>on", vim.cmd.ObsidianNew, { desc = "Create new Obsidian note" }), + map("n", "<leader>ot", vim.cmd.ObsidianToday, { desc = "Open today's Obsidian daily note" }), + map("n", "<leader>oy", vim.cmd.ObsidianYesterday, { desc = "Open yesterday's Obsidian daily note" }), + map("n", "<leader>ow", vim.cmd.ObsidianTomorrow, { desc = "Open tomorrow's Obsidian daily note" }), + map("n", "<leader>od", vim.cmd.ObsidianDailyNote, { desc = "Open daily Obsidian note" }), + + workspaces = { + { + name = "work", + path = "~/Documents/Vaults/Work", + }, + }, + + 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", + }, + + -- Disable default behavior of entering insert mode by default + vim.api.nvim_create_autocmd("BufEnter", { + pattern = "*.md", + callback = function() + vim.cmd("stopinsert") + end, + }) + + -- callbacks = { + -- enter_note = function() + -- -- The folds are too much for these notes + -- vim.opt_local.foldlevel = 99 + -- vim.opt_local.foldlevelstart = 99 + -- end, + -- }, +} + + -- Oil require('oil').setup({ skip_confirm_for_simple_edits = true, diff --git a/nvim-pack-lock.json b/nvim-pack-lock.json @@ -8,6 +8,11 @@ "rev": "8b98b4470eb326f1c7b50dae79f8c963568e5720", "src": "https://github.com/nvim-treesitter/nvim-treesitter" }, + "obsidian.nvim": { + "rev": "7a2b7caf41de196de66f27c1969d0d429810621a", + "src": "https://github.com/obsidian-nvim/obsidian.nvim", + "version": ">=0.0.0" + }, "oil.nvim": { "rev": "b73018b75affd13fa38e2fc94ef753b465f770d7", "src": "https://github.com/stevearc/oil.nvim"