From 4f73309a431932c92c5b55dd80ca226520128d06 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 2 Apr 2025 21:17:40 +0200 Subject: nixvim-dev: configure orgmode with org-roam-nvim --- usecases/desktop/development/nixvim-dev.nix | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'usecases/desktop/development/nixvim-dev.nix') diff --git a/usecases/desktop/development/nixvim-dev.nix b/usecases/desktop/development/nixvim-dev.nix index fbfe106..9bd3b04 100644 --- a/usecases/desktop/development/nixvim-dev.nix +++ b/usecases/desktop/development/nixvim-dev.nix @@ -5,10 +5,29 @@ _inputs: # TODO: pandoc { programs.nixvim = { + # TODO: see below + # highlight = { + # "@org.keyword.done".link = "Comment"; + # "@org.keyword.todo".link = "Todo"; + # }; + + extraPlugins = with pkgs.unstable.vimPlugins; [ + org-roam-nvim + ]; + plugins = { # TODO: #conform-nvim.enable = true; + blink-cmp.settings.sources = { + per_filetype.org = [ "orgmode" ]; + providers.orgmode = { + name = "Orgmode"; + module = "orgmode.org.autocompletion.blink"; + fallbacks = [ "buffer" ]; + }; + }; + clangd-extensions.enable = true; crates = { @@ -154,6 +173,23 @@ _inputs: }; }; + orgmode = { + enable = true; + settings = { + org_agenda_files = "~/Documents/orgmode/**/*"; + org_default_notes_file = "~/Documents/orgmode/refile.org"; + + org_todo_keywords = [ + "TODO" + "WAITING" + "|" + "DONE(d)" + "DELEGATED" + "CANCELLED" + ]; + }; + }; + rustaceanvim = { enable = true; settings.server = { @@ -228,5 +264,22 @@ _inputs: todo-comments.enable = true; }; + + extraConfigLuaPost = '' + -- TODO: this should be configurable + -- TODO: this doesn't work when switching dark/light mode + vim.api.nvim_set_hl(0, "@org.keyword.done", { link = "Comment" }) + vim.api.nvim_set_hl(0, "@org.keyword.todo", { link = "Todo" }) + + -- TODO: make a nixvim module + require("org-roam").setup({ + directory = "~/Documents/orgmode/", + extensions = { + dailies = { + directory = "journal", + } + } + }) + ''; }; } -- cgit v1.2.3