summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usecases/desktop/development/nixvim-dev.nix53
1 files changed, 53 insertions, 0 deletions
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:
5# TODO: pandoc 5# TODO: pandoc
6{ 6{
7 programs.nixvim = { 7 programs.nixvim = {
8 # TODO: see below
9 # highlight = {
10 # "@org.keyword.done".link = "Comment";
11 # "@org.keyword.todo".link = "Todo";
12 # };
13
14 extraPlugins = with pkgs.unstable.vimPlugins; [
15 org-roam-nvim
16 ];
17
8 plugins = { 18 plugins = {
9 # TODO: 19 # TODO:
10 #conform-nvim.enable = true; 20 #conform-nvim.enable = true;
11 21
22 blink-cmp.settings.sources = {
23 per_filetype.org = [ "orgmode" ];
24 providers.orgmode = {
25 name = "Orgmode";
26 module = "orgmode.org.autocompletion.blink";
27 fallbacks = [ "buffer" ];
28 };
29 };
30
12 clangd-extensions.enable = true; 31 clangd-extensions.enable = true;
13 32
14 crates = { 33 crates = {
@@ -154,6 +173,23 @@ _inputs:
154 }; 173 };
155 }; 174 };
156 175
176 orgmode = {
177 enable = true;
178 settings = {
179 org_agenda_files = "~/Documents/orgmode/**/*";
180 org_default_notes_file = "~/Documents/orgmode/refile.org";
181
182 org_todo_keywords = [
183 "TODO"
184 "WAITING"
185 "|"
186 "DONE(d)"
187 "DELEGATED"
188 "CANCELLED"
189 ];
190 };
191 };
192
157 rustaceanvim = { 193 rustaceanvim = {
158 enable = true; 194 enable = true;
159 settings.server = { 195 settings.server = {
@@ -228,5 +264,22 @@ _inputs:
228 264
229 todo-comments.enable = true; 265 todo-comments.enable = true;
230 }; 266 };
267
268 extraConfigLuaPost = ''
269 -- TODO: this should be configurable
270 -- TODO: this doesn't work when switching dark/light mode
271 vim.api.nvim_set_hl(0, "@org.keyword.done", { link = "Comment" })
272 vim.api.nvim_set_hl(0, "@org.keyword.todo", { link = "Todo" })
273
274 -- TODO: make a nixvim module
275 require("org-roam").setup({
276 directory = "~/Documents/orgmode/",
277 extensions = {
278 dailies = {
279 directory = "journal",
280 }
281 }
282 })
283 '';
231 }; 284 };
232} 285}