commit 330625801727f3b4b1ce4f967cb8a42fd4c94aca
parent 21da15c9b0cff74bdea2e5c54d69341dd35add22
Author: Ibrahim Muftee <ibrahim@muftee.net>
Date: Sun, 13 Sep 2026 05:19:50 -0500
Add Obsidian plugin
Diffstat:
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"