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.guifont = "Fira Code Nerd Font:h1" 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 require("catppuccin").setup({ compile_path = vim.fn.stdpath("cache") .. "/catppuccin", -- fix issue of writing to nix store integrations = { which_key = true, }, }) vim.cmd.colorscheme("catppuccin-macchiato") vim.o.timeout = true vim.o.timeoutlen = 300 local wk = require("which-key") require("noice").setup({ lsp = { -- override markdown rendering so that **cmp** and other plugins use **Treesitter** override = { ["vim.lsp.util.convert_input_to_markdown_lines"] = true, ["vim.lsp.util.stylize_markdown"] = true, ["cmp.entry.get_documentation"] = true, }, }, -- you can enable a preset for easier configuration presets = { bottom_search = true, -- use a classic bottom cmdline for search command_palette = true, -- position the cmdline and popupmenu together long_message_to_split = true, -- long messages will be sent to a split inc_rename = false, -- enables an input dialog for inc-rename.nvim lsp_doc_border = false, -- add a border to hover docs and signature help }, }) wk.register({ f = { name = "find", f = { "Telescope find_files", "find file" }, g = { "Telescope live_grep", "live grep" }, b = { "Telescope buffers", "find buffer" }, }, }, { prefix = "" }) require("neogit").setup({ disable_commit_confirmation = true, }) wk.register({ g = { "Neogit", "git" }, }, { prefix = "" }) require("nvim-treesitter.configs").setup({ sync_install = false, auto_install = false, highlight = { enable = true, additional_vim_regex_highlighting = true, }, })