diff --git a/config/default.nix b/config/default.nix index 391d2c6..855b69b 100644 --- a/config/default.nix +++ b/config/default.nix @@ -1,6 +1,14 @@ { # Import all your configuration modules here - imports = [ ./mini.nix ]; + imports = [ + ./mini.nix + ./undotree.nix + ./treesitter-textobjects.nix + ./treesitter-context.nix + ./treesitter.nix + ./lsp-format.nix + ./lsp.nix + ]; opts = { number = true; relativenumber = true; diff --git a/config/lsp-format.nix b/config/lsp-format.nix new file mode 100644 index 0000000..32f0e3d --- /dev/null +++ b/config/lsp-format.nix @@ -0,0 +1 @@ +{ plugins = { lsp-format = { enable = true; }; }; } diff --git a/config/lsp.nix b/config/lsp.nix new file mode 100644 index 0000000..38a841e --- /dev/null +++ b/config/lsp.nix @@ -0,0 +1,14 @@ +{ + plugins = { + lsp = { + enable = true; + servers = { + clangd.enable = true; + bashls.enable = true; + nixd.enable = true; + marksman.enable = true; + lua_ls.enable = true; + }; + }; + }; +} diff --git a/config/mini.nix b/config/mini.nix index e051b39..8bf7460 100644 --- a/config/mini.nix +++ b/config/mini.nix @@ -1,5 +1,4 @@ -{lib, ...}: -{ +{ lib, ... }: { plugins = { mini = { enable = true; @@ -15,33 +14,33 @@ splitjoin = { }; surround = { }; basics = { - options = { - basic = true; - extra_ui = true; - win_borders = "default"; - }; - mappings = { - basic = true; - option_toggle_prefix = "\\"; - windows = true; - move_with_alt = true; - }; - autocommands = { - basic = true; - relnum_in_visual_mode = false; - }; - silent = false; - }; + options = { + basic = true; + extra_ui = true; + win_borders = "default"; + }; + mappings = { + basic = true; + option_toggle_prefix = "\\"; + windows = true; + move_with_alt = true; + }; + autocommands = { + basic = true; + relnum_in_visual_mode = false; + }; + silent = false; + }; bracketed = { }; bufremove = { }; diff = { }; extra = { }; files = { - windows = { - preview = true; - width_preview = 50; - }; - }; + windows = { + preview = true; + width_preview = 50; + }; + }; git = { }; jump = { }; jump2d = { }; @@ -51,11 +50,7 @@ animate = { }; cursorword = { }; icons = { }; - indentscope = { - options = { - try_as_border = true; - }; - }; + indentscope = { options = { try_as_border = true; }; }; notify = { }; starter = { }; statusline = { }; @@ -63,84 +58,84 @@ }; luaConfig.post = '' - local miniclue = require('mini.clue') -miniclue.setup({ - triggers = { - -- Leader triggers - { mode = 'n', keys = '' }, - { mode = 'x', keys = '' }, + local miniclue = require('mini.clue') + miniclue.setup({ + triggers = { + -- Leader triggers + { mode = 'n', keys = '' }, + { mode = 'x', keys = '' }, - -- Built-in completion - { mode = 'i', keys = '' }, + -- Built-in completion + { mode = 'i', keys = '' }, - -- `g` key - { mode = 'n', keys = 'g' }, - { mode = 'x', keys = 'g' }, + -- `g` key + { mode = 'n', keys = 'g' }, + { mode = 'x', keys = 'g' }, - -- Marks - { mode = 'n', keys = "'" }, - { mode = 'n', keys = '`' }, - { mode = 'x', keys = "'" }, - { mode = 'x', keys = '`' }, + -- Marks + { mode = 'n', keys = "'" }, + { mode = 'n', keys = '`' }, + { mode = 'x', keys = "'" }, + { mode = 'x', keys = '`' }, - -- Registers - { mode = 'n', keys = '"' }, - { mode = 'x', keys = '"' }, - { mode = 'i', keys = '' }, - { mode = 'c', keys = '' }, + -- Registers + { mode = 'n', keys = '"' }, + { mode = 'x', keys = '"' }, + { mode = 'i', keys = '' }, + { mode = 'c', keys = '' }, - -- Window commands - { mode = 'n', keys = '' }, + -- Window commands + { mode = 'n', keys = '' }, - -- `z` key - { mode = 'n', keys = 'z' }, - { mode = 'x', keys = 'z' }, + -- `z` key + { mode = 'n', keys = 'z' }, + { mode = 'x', keys = 'z' }, - { mode = 'n', keys = 's'}, - { mode = 'x', keys = 's'}, + { mode = 'n', keys = 's'}, + { mode = 'x', keys = 's'}, - { mode = 'n', keys = ']'}, - { mode = 'x', keys = ']'}, - { mode = 'n', keys = '['}, - { mode = 'x', keys = '['}, + { mode = 'n', keys = ']'}, + { mode = 'x', keys = ']'}, + { mode = 'n', keys = '['}, + { mode = 'x', keys = '['}, - { mode = 'n', keys = 'i'}, - { mode = 'x', keys = 'i'}, - { mode = 'n', keys = 'a'}, - { mode = 'x', keys = 'a'}, - }, + { mode = 'n', keys = 'i'}, + { mode = 'x', keys = 'i'}, + { mode = 'n', keys = 'a'}, + { mode = 'x', keys = 'a'}, + }, - clues = { - -- Enhance this by adding descriptions for mapping groups - miniclue.gen_clues.builtin_completion(), - miniclue.gen_clues.g(), - miniclue.gen_clues.marks(), - miniclue.gen_clues.registers(), - miniclue.gen_clues.windows(), - miniclue.gen_clues.z(), - }, + clues = { + -- Enhance this by adding descriptions for mapping groups + miniclue.gen_clues.builtin_completion(), + miniclue.gen_clues.g(), + miniclue.gen_clues.marks(), + miniclue.gen_clues.registers(), + miniclue.gen_clues.windows(), + miniclue.gen_clues.z(), + }, - window = { - config = {}, - delay = 500, - scroll_down = ''; - scroll_up = ''; - }, -}) + window = { + config = {}, + delay = 500, + scroll_down = ''; + scroll_up = ''; + }, + }) -local hipatterns = require('mini.hipatterns') -hipatterns.setup({ - highlighters = { - -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' - fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, - hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, - todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, - note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, + local hipatterns = require('mini.hipatterns') + hipatterns.setup({ + highlighters = { + -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' + fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, + hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, + todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, + note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, - -- Highlight hex color strings (`#rrggbb`) using that color - hex_color = hipatterns.gen_highlighter.hex_color(), - }, -}) + -- Highlight hex color strings (`#rrggbb`) using that color + hex_color = hipatterns.gen_highlighter.hex_color(), + }, + }) ''; }; }; diff --git a/config/treesitter-context.nix b/config/treesitter-context.nix new file mode 100644 index 0000000..9371139 --- /dev/null +++ b/config/treesitter-context.nix @@ -0,0 +1 @@ +{ plugins = { treesitter-context = { enable = true; }; }; } diff --git a/config/treesitter-textobjects.nix b/config/treesitter-textobjects.nix new file mode 100644 index 0000000..a8e34aa --- /dev/null +++ b/config/treesitter-textobjects.nix @@ -0,0 +1 @@ +{ plugins = { treesitter-textobjects = { enable = true; }; }; } diff --git a/config/treesitter.nix b/config/treesitter.nix new file mode 100644 index 0000000..d3c0645 --- /dev/null +++ b/config/treesitter.nix @@ -0,0 +1,8 @@ +{ + plugins = { + treesitter = { + enable = true; + settings = { highlight.enable = true; }; + }; + }; +} diff --git a/config/undotree.nix b/config/undotree.nix new file mode 100644 index 0000000..c9fd124 --- /dev/null +++ b/config/undotree.nix @@ -0,0 +1 @@ +{ plugins = { undotree = { enable = true; }; }; }