_: { home-manager.users.moritz.programs.nixvim = { plugins.obsidian = { enable = true; settings = { ui.enable = false; dir = "~/Documents/Nextcloud/Notes/zettelkasten/"; note_id_func.__raw = '' function(title) if title ~= nil then return title else suffix = "" for _ = 1, 4 do suffix = suffix .. string.char(math.random(65, 90)) end return tostring(os.date("%Y-%m-%d")) .. "-" .. suffix end end ''; mappings = { "n" = { action.__raw = ''function() return vim.cmd("ObsidianNew") end''; opts.desc = "New Note"; opts.buffer = true; }; "q" = { action.__raw = ''function() return vim.cmd("ObsidianQuickSwitch") end''; opts.desc = "Quick Switch"; opts.buffer = true; }; "b" = { action.__raw = ''function() return vim.cmd("ObsidianBacklinks") end''; opts.desc = "Backlinks"; opts.buffer = true; }; "l" = { action.__raw = ''function() return vim.cmd("ObsidianLink") end''; opts.desc = "Link"; opts.buffer = true; }; "e" = { action.__raw = ''function() return vim.cmd("ObsidianExtractNote") end''; opts.desc = "Extract Note"; opts.buffer = true; }; "r" = { action.__raw = ''function() return vim.cmd("ObsidianRename") end''; opts.desc = "Rename"; opts.buffer = true; }; "" = { action.__raw = ''function() return require("obsidian").util.smart_action() end''; opts.buffer = true; opts.expr = true; }; "gf" = { action.__raw = ''function() return require("obsidian").util.gf_passthrough() end''; opts = { noremap = false; expr = true; buffer = true; }; }; }; }; }; }; }