From 0e4408a3fd598ca0d29c5a17f55968bea167f0b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 22 Nov 2024 13:30:20 +0100 Subject: [PATCH 1/7] fix: Update keymap for todo-comments and enable markdown plugins --- modules/programs/nvim/new_plugins/other.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/programs/nvim/new_plugins/other.nix b/modules/programs/nvim/new_plugins/other.nix index 3107253..26433f6 100644 --- a/modules/programs/nvim/new_plugins/other.nix +++ b/modules/programs/nvim/new_plugins/other.nix @@ -19,7 +19,7 @@ in { plugins.todo-comments = { enable = true; - keymaps.todoTelescope.key = "fc"; + keymaps.todoTelescope.key = "ft"; }; } @@ -61,6 +61,7 @@ in { plugins.obsidian.enable = true; plugins.obsidian.settings = { + ui.enable = false; dir = "~/Documents/Nextcloud/Notes/zettelkasten/"; note_id_func.__raw = '' function(title) @@ -86,6 +87,13 @@ in }; performance.combinePlugins.standalonePlugins = [ "mini.nvim" ]; } + { plugins.markdown-preview.enable = true; } + { + plugins.render-markdown = { + enable = true; + settings.latex.enable = false; + }; + } ]; }; } From 8cde6f4ea7cd793297853fcb9390f4da6307b9e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 22 Nov 2024 14:43:47 +0100 Subject: [PATCH 2/7] feat: Add new Nvim plugins configuration files --- modules/programs/nvim/new_plugins/comment.nix | 0 modules/programs/nvim/new_plugins/crates-nvim.nix | 0 modules/programs/nvim/new_plugins/direnv.nix | 0 modules/programs/nvim/new_plugins/friendly-snippets.nix | 0 modules/programs/nvim/new_plugins/fugitive.nix | 0 modules/programs/nvim/new_plugins/gitsigns.nix | 0 modules/programs/nvim/new_plugins/helpview.nix | 0 modules/programs/nvim/new_plugins/hmts.nix | 0 modules/programs/nvim/new_plugins/keymaps.nix | 0 modules/programs/nvim/new_plugins/lastplace.nix | 0 modules/programs/nvim/new_plugins/markdown-preview.nix | 0 modules/programs/nvim/new_plugins/marks.nix | 0 modules/programs/nvim/new_plugins/mini.nix | 0 modules/programs/nvim/new_plugins/nvim-autopairs.nix | 0 modules/programs/nvim/new_plugins/obsidian.nix | 0 modules/programs/nvim/new_plugins/oil.nix | 0 modules/programs/nvim/new_plugins/render-markdown.nix | 0 modules/programs/nvim/new_plugins/todo-comments.nix | 0 modules/programs/nvim/new_plugins/ts-context-commentstring.nix | 0 modules/programs/nvim/new_plugins/vim-surround.nix | 0 modules/programs/nvim/new_plugins/vimtex.nix | 0 modules/programs/nvim/new_plugins/which-key.nix | 0 22 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 modules/programs/nvim/new_plugins/comment.nix create mode 100644 modules/programs/nvim/new_plugins/crates-nvim.nix create mode 100644 modules/programs/nvim/new_plugins/direnv.nix create mode 100644 modules/programs/nvim/new_plugins/friendly-snippets.nix create mode 100644 modules/programs/nvim/new_plugins/fugitive.nix create mode 100644 modules/programs/nvim/new_plugins/gitsigns.nix create mode 100644 modules/programs/nvim/new_plugins/helpview.nix create mode 100644 modules/programs/nvim/new_plugins/hmts.nix create mode 100644 modules/programs/nvim/new_plugins/keymaps.nix create mode 100644 modules/programs/nvim/new_plugins/lastplace.nix create mode 100644 modules/programs/nvim/new_plugins/markdown-preview.nix create mode 100644 modules/programs/nvim/new_plugins/marks.nix create mode 100644 modules/programs/nvim/new_plugins/mini.nix create mode 100644 modules/programs/nvim/new_plugins/nvim-autopairs.nix create mode 100644 modules/programs/nvim/new_plugins/obsidian.nix create mode 100644 modules/programs/nvim/new_plugins/oil.nix create mode 100644 modules/programs/nvim/new_plugins/render-markdown.nix create mode 100644 modules/programs/nvim/new_plugins/todo-comments.nix create mode 100644 modules/programs/nvim/new_plugins/ts-context-commentstring.nix create mode 100644 modules/programs/nvim/new_plugins/vim-surround.nix create mode 100644 modules/programs/nvim/new_plugins/vimtex.nix create mode 100644 modules/programs/nvim/new_plugins/which-key.nix diff --git a/modules/programs/nvim/new_plugins/comment.nix b/modules/programs/nvim/new_plugins/comment.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/crates-nvim.nix b/modules/programs/nvim/new_plugins/crates-nvim.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/direnv.nix b/modules/programs/nvim/new_plugins/direnv.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/friendly-snippets.nix b/modules/programs/nvim/new_plugins/friendly-snippets.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/fugitive.nix b/modules/programs/nvim/new_plugins/fugitive.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/gitsigns.nix b/modules/programs/nvim/new_plugins/gitsigns.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/helpview.nix b/modules/programs/nvim/new_plugins/helpview.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/hmts.nix b/modules/programs/nvim/new_plugins/hmts.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/keymaps.nix b/modules/programs/nvim/new_plugins/keymaps.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/lastplace.nix b/modules/programs/nvim/new_plugins/lastplace.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/markdown-preview.nix b/modules/programs/nvim/new_plugins/markdown-preview.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/marks.nix b/modules/programs/nvim/new_plugins/marks.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/mini.nix b/modules/programs/nvim/new_plugins/mini.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/nvim-autopairs.nix b/modules/programs/nvim/new_plugins/nvim-autopairs.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/obsidian.nix b/modules/programs/nvim/new_plugins/obsidian.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/oil.nix b/modules/programs/nvim/new_plugins/oil.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/render-markdown.nix b/modules/programs/nvim/new_plugins/render-markdown.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/todo-comments.nix b/modules/programs/nvim/new_plugins/todo-comments.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/ts-context-commentstring.nix b/modules/programs/nvim/new_plugins/ts-context-commentstring.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/vim-surround.nix b/modules/programs/nvim/new_plugins/vim-surround.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/vimtex.nix b/modules/programs/nvim/new_plugins/vimtex.nix new file mode 100644 index 0000000..e69de29 diff --git a/modules/programs/nvim/new_plugins/which-key.nix b/modules/programs/nvim/new_plugins/which-key.nix new file mode 100644 index 0000000..e69de29 From d3ce1b22c4f37c3549fd4668a4856519baf09827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme=22=20=28aider=29?= Date: Fri, 22 Nov 2024 14:43:50 +0100 Subject: [PATCH 3/7] refactor: Split plugin configurations from other.nix into separate files --- modules/programs/nvim/new_plugins/comment.nix | 10 ++ .../programs/nvim/new_plugins/crates-nvim.nix | 10 ++ modules/programs/nvim/new_plugins/direnv.nix | 10 ++ .../nvim/new_plugins/friendly-snippets.nix | 10 ++ .../programs/nvim/new_plugins/fugitive.nix | 10 ++ .../programs/nvim/new_plugins/gitsigns.nix | 10 ++ .../programs/nvim/new_plugins/helpview.nix | 11 +++ modules/programs/nvim/new_plugins/hmts.nix | 11 +++ modules/programs/nvim/new_plugins/keymaps.nix | 15 +++ .../programs/nvim/new_plugins/lastplace.nix | 10 ++ .../nvim/new_plugins/markdown-preview.nix | 10 ++ modules/programs/nvim/new_plugins/marks.nix | 13 +++ modules/programs/nvim/new_plugins/mini.nix | 16 +++ .../nvim/new_plugins/nvim-autopairs.nix | 10 ++ .../programs/nvim/new_plugins/obsidian.nix | 29 ++++++ modules/programs/nvim/new_plugins/oil.nix | 10 ++ modules/programs/nvim/new_plugins/other.nix | 99 ------------------- .../nvim/new_plugins/render-markdown.nix | 13 +++ .../nvim/new_plugins/todo-comments.nix | 13 +++ .../new_plugins/ts-context-commentstring.nix | 10 ++ .../nvim/new_plugins/vim-surround.nix | 10 ++ modules/programs/nvim/new_plugins/vimtex.nix | 13 +++ .../programs/nvim/new_plugins/which-key.nix | 10 ++ 23 files changed, 264 insertions(+), 99 deletions(-) delete mode 100644 modules/programs/nvim/new_plugins/other.nix diff --git a/modules/programs/nvim/new_plugins/comment.nix b/modules/programs/nvim/new_plugins/comment.nix index e69de29..7dd0ae1 100644 --- a/modules/programs/nvim/new_plugins/comment.nix +++ b/modules/programs/nvim/new_plugins/comment.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.comment.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/crates-nvim.nix b/modules/programs/nvim/new_plugins/crates-nvim.nix index e69de29..dd50bfd 100644 --- a/modules/programs/nvim/new_plugins/crates-nvim.nix +++ b/modules/programs/nvim/new_plugins/crates-nvim.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.crates-nvim.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/direnv.nix b/modules/programs/nvim/new_plugins/direnv.nix index e69de29..3f6922a 100644 --- a/modules/programs/nvim/new_plugins/direnv.nix +++ b/modules/programs/nvim/new_plugins/direnv.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.direnv.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/friendly-snippets.nix b/modules/programs/nvim/new_plugins/friendly-snippets.nix index e69de29..9c64552 100644 --- a/modules/programs/nvim/new_plugins/friendly-snippets.nix +++ b/modules/programs/nvim/new_plugins/friendly-snippets.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.friendly-snippets.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/fugitive.nix b/modules/programs/nvim/new_plugins/fugitive.nix index e69de29..97d5d11 100644 --- a/modules/programs/nvim/new_plugins/fugitive.nix +++ b/modules/programs/nvim/new_plugins/fugitive.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.fugitive.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/gitsigns.nix b/modules/programs/nvim/new_plugins/gitsigns.nix index e69de29..2e1db6e 100644 --- a/modules/programs/nvim/new_plugins/gitsigns.nix +++ b/modules/programs/nvim/new_plugins/gitsigns.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.gitsigns.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/helpview.nix b/modules/programs/nvim/new_plugins/helpview.nix index e69de29..6b00df4 100644 --- a/modules/programs/nvim/new_plugins/helpview.nix +++ b/modules/programs/nvim/new_plugins/helpview.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.helpview.enable = true; + performance.combinePlugins.standalonePlugins = [ "helpview.nvim" ]; + }; +} diff --git a/modules/programs/nvim/new_plugins/hmts.nix b/modules/programs/nvim/new_plugins/hmts.nix index e69de29..041793f 100644 --- a/modules/programs/nvim/new_plugins/hmts.nix +++ b/modules/programs/nvim/new_plugins/hmts.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.hmts.enable = true; + performance.combinePlugins.standalonePlugins = [ "hmts.nvim" ]; + }; +} diff --git a/modules/programs/nvim/new_plugins/keymaps.nix b/modules/programs/nvim/new_plugins/keymaps.nix index e69de29..7c14693 100644 --- a/modules/programs/nvim/new_plugins/keymaps.nix +++ b/modules/programs/nvim/new_plugins/keymaps.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + keymaps = [ + { key = ""; action = "noh"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; } + { key = "<"; action = " Date: Fri, 22 Nov 2024 15:59:59 +0100 Subject: [PATCH 4/7] feat: add more obsidian keybinds --- modules/programs/nvim/new_plugins/obsidian.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/programs/nvim/new_plugins/obsidian.nix b/modules/programs/nvim/new_plugins/obsidian.nix index 70d9f8b..cac1f45 100644 --- a/modules/programs/nvim/new_plugins/obsidian.nix +++ b/modules/programs/nvim/new_plugins/obsidian.nix @@ -1,8 +1,5 @@ -{ config, lib, pkgs, inputs, ... }: +_: -let - inherit (lib) mkEnableOption mkIf readFile; -in { home-manager.users.moritz.programs.nixvim = { plugins.obsidian = { @@ -23,6 +20,16 @@ in 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; }; }; + }; }; }; }; From bf7928d3cceb428ed944e11542b73f394086ee58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 22 Nov 2024 16:00:28 +0100 Subject: [PATCH 5/7] feat(nvim): add command search keybind --- modules/programs/nvim/new_plugins/telescope.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/programs/nvim/new_plugins/telescope.nix b/modules/programs/nvim/new_plugins/telescope.nix index a0f6b4b..539ce73 100644 --- a/modules/programs/nvim/new_plugins/telescope.nix +++ b/modules/programs/nvim/new_plugins/telescope.nix @@ -31,6 +31,10 @@ _: action = "oldfiles"; options.desc = "Recent files"; }; + "fc" = { + action = "commands"; + options.desc = "Commands"; + }; }; }; web-devicons.enable = true; From 021a7dae5b27d1c609a2e021cf813dc00eda0e68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 22 Nov 2024 16:00:54 +0100 Subject: [PATCH 6/7] feat(nvim): simplify keybinds --- modules/programs/nvim/new_plugins/conform.nix | 2 +- modules/programs/nvim/new_plugins/lspsaga.nix | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/programs/nvim/new_plugins/conform.nix b/modules/programs/nvim/new_plugins/conform.nix index a8b94f3..7e3ca5b 100644 --- a/modules/programs/nvim/new_plugins/conform.nix +++ b/modules/programs/nvim/new_plugins/conform.nix @@ -66,7 +66,7 @@ in "conform.nvim" ]; keymaps = [ - { key = "cf"; action.__raw = ''function() require("conform").format() end''; options.desc = "Format current file"; } + { key = "="; action.__raw = ''function() require("conform").format() end''; options.desc = "Format current file"; } ]; }; diff --git a/modules/programs/nvim/new_plugins/lspsaga.nix b/modules/programs/nvim/new_plugins/lspsaga.nix index 6b60349..b47f969 100644 --- a/modules/programs/nvim/new_plugins/lspsaga.nix +++ b/modules/programs/nvim/new_plugins/lspsaga.nix @@ -16,9 +16,9 @@ in keymapsOnEvents = { LspAttach = [ { - key = "cc"; + key = "q"; action = "Lspsaga code_action"; - options.desc = "Code Action"; + options.desc = "Quickfix"; options.buffer = true; } { @@ -28,7 +28,7 @@ in options.buffer = true; } { - key = "cr"; + key = "r"; action = "Lspsaga rename"; options.desc = "Rename"; options.buffer = true; From 39a5189c0d029b9ccc8afca1acc1a0b9c897f82c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Fri, 22 Nov 2024 16:01:22 +0100 Subject: [PATCH 7/7] chore: ignore aider files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 7dcd526..d6230a0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ tmp/ .direnv/ .pre-commit-config.yaml +.aider* +.env