{ pkgs, ... }: { # Import all your configuration modules here imports = [ ./bufferline.nix ]; plugins = { lualine.enable = true; luasnip.enable = true; barbar.enable = true; nvim-tree.enable = true; noice.enable = true; mini.enable = true; notify.enable = true; telescope.enable = true; treesitter.enable = true; web-devicons.enable = true; lsp = { enable = true; servers = { #js/typescript ts-ls.enable = true; #c/c++ ccls.enable = true; #nix nil-ls.enable = true; #python pyright.enable = true; #bash bashls.enable = true; #css cssls.enable = true; }; }; cmp = { enable = true; autoEnableSources = true; settings = { sources = [ { name = "nvim_lsp"; } { name = "path"; } { name = "buffer"; } { name = "luasnip"; } { name = "cmdline"; } ]; }; }; }; globals = { mapleader = " "; maplocalleader = " "; }; opts = { nu = true; rnu = true; scrolloff = 12; tabstop = 4; softtabstop = 4; shiftwidth = 4; expandtab = true; smartindent = true; wrap = false; hlsearch = false; incsearch = true; }; keymaps = [ { mode = "n"; key = "ff"; action = "Telescope find_files hidden=true"; } { mode = "n"; key = "fc"; action = "Telescope treesitter"; } { mode = "n"; key = "t"; action = "NvimTreeToggle"; } { mode = "n"; key = ""; action = "BufferNext"; } { mode = "n"; key = ""; action = "BufferPrevious"; } { mode = "n"; key = ""; action = "wincmd h"; } { mode = "n"; key = ""; action = "wincmd j"; } { mode = "n"; key = ""; action = "wincmd k"; } { mode = "n"; key = ""; action = "wincmd l"; } { mode = "n"; key = "Q"; action = ""; } { mode = "v"; key = "J"; action = ":m '>+1gv=gv"; } { mode = "v"; key = "K"; action = ":m '<-2gv=gv"; } ]; extraConfigLua = '' vim.filetype.add({ pattern = { [".*/hypr/.*%.conf"] = "hyprlang" }, }) ''; extraPlugins = with pkgs.vimPlugins; [ pywal-nvim tokyonight-nvim llm-nvim nvim-lspconfig ]; colorscheme = "pywal"; }