summaryrefslogtreecommitdiff
path: root/common/home/programs/nixvim/default.nix
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2024-09-28 15:17:50 +0200
committerNathan Reiner <nathan@nathanreiner.xyz>2024-09-28 15:17:50 +0200
commitac7f8ef19b645af5afe8f5f8044868a0cf25a620 (patch)
tree24096bb105e6a74622418a61a792388f665cf223 /common/home/programs/nixvim/default.nix
parentfbe7799a38a2dfe139261bb3bdeca6fa96d05145 (diff)
nixvim: refactor
Diffstat (limited to 'common/home/programs/nixvim/default.nix')
-rw-r--r--common/home/programs/nixvim/default.nix195
1 files changed, 1 insertions, 194 deletions
diff --git a/common/home/programs/nixvim/default.nix b/common/home/programs/nixvim/default.nix
index 80de5a1..f8ec8c6 100644
--- a/common/home/programs/nixvim/default.nix
+++ b/common/home/programs/nixvim/default.nix
@@ -54,200 +54,7 @@
colorscheme = "gruvbox-dark-pale";
};
- plugins = {
- web-devicons.enable = true;
-
- dashboard = {
- enable = true;
- settings = {
- change_to_vcs_root = true;
- config = {
- footer = [ "" ];
-
- header = [
- "███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗"
- "████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║"
- "██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║"
- "██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║"
- "██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║"
- "╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝"
- ];
-
- mru = {
- limit = 10;
- };
-
- project = {
- enable = true;
- };
-
- packages.enable = false;
-
- shortcut = [
- {
- action = {
- __raw = ''
- function(path)
- vim.cmd('Telescope find_files')
- end
- '';
- };
- desc = "Files";
- group = "Label";
- icon = " ";
- icon_hl = "@variable";
- key = "f";
- }
- {
- action = {
- __raw = ''
- function()
- vim.cmd('cd ~/global/system/config'); vim.cmd('Telescope find_files')
- end
- '';
- };
- icon = "󱄅 ";
- icon_hl = "@variable";
- desc = "System Config";
- group = "Number";
- key = "c";
- }
- ];
-
- hide = [
- "statusline"
- "tabline"
- "winbar"
- ];
- };
- theme = "hyper";
- };
- };
-
- nvim-tree = {
- enable = true;
- autoClose = true;
- disableNetrw = true;
- hijackCursor = true;
- };
-
- telescope = {
- enable = true;
- };
-
- lualine = {
- enable = true;
- };
-
- treesitter = {
- enable = true;
- settings = {
- auto_install = true;
- highlight = {
- additional_vim_regex_highlighting = true;
- enable = true;
- };
- incremental_selection = {
- enable = true;
- keymaps = {
- init_selection = false;
- node_decremental = "grm";
- node_incremental = "grn";
- scope_incremental = "grc";
- };
- };
- indent = {
- enable = true;
- };
- sync_install = false;
- };
- };
-
- luasnip = {
- enable = true;
- };
-
- friendly-snippets = {
- enable = true;
- };
-
- cmp = {
- enable = true;
- autoEnableSources = true;
- settings = {
- mapping = {
- "<C-b>" = "cmp.mapping.scroll_docs(-4)";
- "<C-f>" = "cmp.mapping.scroll_docs(4)";
- "<C-Space>" = "cmp.mapping.complete()";
- "<C-e>" = "cmp.mapping.abort()";
- "<CR>" = "cmp.mapping.confirm({ select = true })";
- "<Tab>" = ''
- cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_next_item()
- else
- fallback()
- end
- end, { "i", "s" })
- '';
- "<S-Tab>" = ''
- cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.select_prev_item()
- else
- fallback()
- end
- end, { "i", "s" })
- '';
- };
- snippet = {
- expand = "function(args) require('luasnip').lsp_expand(args.body) end";
- };
- sources = [
- { name = "nvim_lsp"; }
- { name = "luasnip"; }
- { name = "path"; }
- { name = "buffer"; }
- ];
- };
- };
-
- lsp = {
- enable = true;
- servers = {
- bashls = {
- enable = true;
- package = pkgs.unstable.bash-language-server;
- };
- clangd.enable = true;
- nixd = {
- enable = true;
- settings.formatting.command = [ "nixfmt" ];
- };
- rust-analyzer = {
- enable = true;
- installCargo = true;
- installRustc = true;
- };
- pyright.enable = true;
- ocamllsp.enable = true;
- };
- keymaps.lspBuf = {
- "gd" = "definition";
- "gD" = "references";
- "gt" = "type_definition";
- "gi" = "implementation";
- "K" = "hover";
- "rn" = "rename";
- "<space>ca" = "code_action";
- "<space>f" = "format";
- };
- };
-
- lsp-format = {
- enable = true;
- };
- };
+ plugins = import ./plugins/default.nix;
globals = {
mapleader = ",";