diff --git a/modules/programs/nvim/default.nix b/modules/programs/nvim/default.nix index 74e0c28..3a32217 100644 --- a/modules/programs/nvim/default.nix +++ b/modules/programs/nvim/default.nix @@ -41,11 +41,7 @@ in vimdiffAlias = true; withNodeJs = true; withPython3 = true; - extraLuaConfig = lib.concatLines ( - builtins.map - builtins.readFile - [ ./options.lua ./keybinds.lua ./init.lua ] - ); + extraLuaConfig = builtins.readFile ./init.lua; extraPackages = with pkgs; [ alejandra black diff --git a/modules/programs/nvim/init.lua b/modules/programs/nvim/init.lua index 8f97399..3a9ce13 100644 --- a/modules/programs/nvim/init.lua +++ b/modules/programs/nvim/init.lua @@ -1,5 +1,46 @@ +vim.g.mapleader = " " +vim.g.maplocalleader = "," + +-- FIX to create spell dir if not existent +local spelldir = vim.fn.stdpath("data") .. "/site/spell" +if not vim.loop.fs_stat(spelldir) then + vim.fn.mkdir(spelldir, "p") +end + +vim.opt.autoindent = true +vim.opt.backupdir = { vim.fn.stdpath("state") .. "/nvim/backup/" } -- don't store backup in files dir +vim.opt.clipboard = "unnamedplus" -- sync with system clipboard +vim.opt.conceallevel = 2 +vim.opt.expandtab = true -- spaces instead of tabs +vim.opt.ignorecase = true +vim.opt.mouse = "a" -- mouse for all modes +vim.opt.number = true +vim.opt.relativenumber = true +vim.opt.scrolloff = 4 -- lines of context +vim.opt.shiftround = true -- round indent +vim.opt.shiftwidth = 0 -- use tabstop value +vim.opt.shortmess:append({ c = true }) +vim.opt.signcolumn = "yes" +vim.opt.smartcase = true +vim.opt.splitbelow = true +vim.opt.splitright = true +vim.opt.tabstop = 2 +vim.opt.termguicolors = true +vim.opt.undofile = true +vim.opt.undolevels = 10000 +vim.opt.updatetime = 300 +vim.opt_local.spell = true +vim.opt_local.spelllang = { "en", "de_20" } -- all English regions and new German spelling + +if vim.g.neovide then + vim.opt.guifont = "Fira Code Nerd Font:h10" + vim.g.neovide_scale_factor = 0.7 +end + require("impatient") +local wk = require("which-key") + require("nvim-treesitter.configs").setup({ sync_install = false, auto_install = false, @@ -140,7 +181,7 @@ vim.o.statuscolumn = "%= " .. "%= " -- spacing between end of column and start of text -- Using ufo provider need remap `zR` and `zM`. If Neovim is 0.6.1, remap yourself -require("which-key").register({ +wk.register({ z = { R = { require("ufo").openAllFolds, "Open all folds" }, M = { require("ufo").closeAllFolds, "Close all folds" }, @@ -169,7 +210,7 @@ require("lspsaga").setup({ local lspconfig = require("lspconfig") local on_attach_def = function(_, bufnr) - require("which-key").register({ + wk.register({ K = { "Lspsaga hover_doc ++quiet", "show info" }, [""] = { l = { diff --git a/modules/programs/nvim/keybinds.lua b/modules/programs/nvim/keybinds.lua deleted file mode 100644 index 52ae2e2..0000000 --- a/modules/programs/nvim/keybinds.lua +++ /dev/null @@ -1,21 +0,0 @@ --- buffers -require("which-key").register({ - b = { - name = "buffers", - b = { "Telescope buffers", "List buffers" }, - d = { "bd", "Delete buffer" }, - n = { "bnext", "Next buffer" }, - p = { "bprevious", "Previous buffer" }, - }, -}) - --- Clear search with -require("which-key").register({ - [""] = { "noh", "Escape and clear hlsearch", mode = { "n", "i" } }, -}) - --- better indenting -require("which-key").register({ - ["<"] = { ""] = { ">gv", "Shift right" }, -}, { mode = "v" }) diff --git a/modules/programs/nvim/options.lua b/modules/programs/nvim/options.lua deleted file mode 100644 index 4ebf278..0000000 --- a/modules/programs/nvim/options.lua +++ /dev/null @@ -1,38 +0,0 @@ -vim.g.mapleader = " " -vim.g.maplocalleader = "," - --- FIX to create spell dir if not existent -local spelldir = vim.fn.stdpath("data") .. "/site/spell" -if not vim.loop.fs_stat(spelldir) then - vim.fn.mkdir(spelldir, "p") -end - -vim.opt.autoindent = true -vim.opt.backupdir = { vim.fn.stdpath("state") .. "/nvim/backup/" } -- don't store backup in files dir -vim.opt.clipboard = "unnamedplus" -- sync with system clipboard -vim.opt.conceallevel = 2 -vim.opt.expandtab = true -- spaces instead of tabs -vim.opt.ignorecase = true -vim.opt.mouse = "a" -- mouse for all modes -vim.opt.number = true -vim.opt.relativenumber = true -vim.opt.scrolloff = 4 -- lines of context -vim.opt.shiftround = true -- round indent -vim.opt.shiftwidth = 0 -- use tabstop value -vim.opt.shortmess:append({ c = true }) -vim.opt.signcolumn = "yes" -vim.opt.smartcase = true -vim.opt.splitbelow = true -vim.opt.splitright = true -vim.opt.tabstop = 2 -vim.opt.termguicolors = true -vim.opt.undofile = true -vim.opt.undolevels = 10000 -vim.opt.updatetime = 300 -vim.opt_local.spell = true -vim.opt_local.spelllang = { "en", "de_20" } -- all English regions and new German spelling - -if vim.g.neovide then - vim.opt.guifont = "Fira Code Nerd Font:h10" - vim.g.neovide_scale_factor = 0.7 -end diff --git a/modules/programs/nvim/plugins/bufferline-nvim.lua b/modules/programs/nvim/plugins/bufferline-nvim.lua deleted file mode 100644 index d6f74f1..0000000 --- a/modules/programs/nvim/plugins/bufferline-nvim.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.opt.termguicolors = true -require("bufferline").setup() diff --git a/modules/programs/nvim/plugins/nvim-autopairs.lua b/modules/programs/nvim/plugins/nvim-autopairs.lua index 540723f..4de6add 100644 --- a/modules/programs/nvim/plugins/nvim-autopairs.lua +++ b/modules/programs/nvim/plugins/nvim-autopairs.lua @@ -1,6 +1 @@ require("nvim-autopairs").setup() - --- If you want insert `(` after select function or method item -local cmp_autopairs = require("nvim-autopairs.completion.cmp") -local cmp = require("cmp") -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) diff --git a/modules/programs/nvim/plugins/oil-nvim.lua b/modules/programs/nvim/plugins/oil-nvim.lua deleted file mode 100644 index ee12680..0000000 --- a/modules/programs/nvim/plugins/oil-nvim.lua +++ /dev/null @@ -1 +0,0 @@ -require("oil").setup()