{ pkgs, ... }: { enable = true; defaultEditor = true; enableMan = true; package = pkgs.unstable.neovim-unwrapped; extraConfigLua = '' local signs = { Error = "󰀨 ", Warn = " ", Hint = " ", Info = " " } for type, icon in pairs(signs) do local hl = "DiagnosticSign" .. type vim.fn.sign_define( hl, { text = icon, texthl = hl, numhl = hl } ) end vim.g.zig_fmt_autosave = 0 ''; diagnostics = { virtual_text = { prefix = "󰬨"; }; }; opts = { mouse = "a"; number = true; softtabstop = 0; expandtab = false; tabstop = 2; shiftwidth = 2; smartindent = true; list = true; listchars = { tab = "> "; eol = "¬"; trail = "·"; nbsp = "•"; }; splitright = true; splitbelow = true; showcmd = true; wildmenu = true; hlsearch = true; autoread = true; swapfile = false; relativenumber = true; spell = true; spelllang = ["en_us" "de_ch"]; }; clipboard = { register = "unnamedplus"; providers.wl-copy.enable = true; }; colorschemes.base16 = { enable = true; colorscheme = "gruvbox-dark-pale"; }; plugins = import ./plugins/default.nix { inherit pkgs; }; globals = { mapleader = ","; }; keymaps = [ { key = "tf"; action = "NvimTreeToggle"; mode = "n"; } { key = "f"; action = "lua require('telescope.builtin').find_files()"; mode = "n"; } { key = "g"; action = "lua require('telescope.builtin').live_grep()"; mode = "n"; } { key = "m"; action = "lua require('telescope.builtin').man_pages({ sections = { 'ALL' } })"; mode = "n"; } { key = "d"; action = "lua vim.diagnostic.open_float()"; mode = "n"; } { key = "a"; action = "ä"; mode = "i"; } { key = "o"; action = "ö"; mode = "i"; } { key = "u"; action = "ü"; mode = "i"; } { key = "A"; action = "Ä"; mode = "i"; } { key = "O"; action = "Ö"; mode = "i"; } { key = "U"; action = "Ü"; mode = "i"; } ]; }