Attempt to switch to non-lazyvim neovim configuration

This commit is contained in:
Bryan Ramos 2024-09-22 09:47:00 -04:00
parent b24102d423
commit 854d0c583c
Signed by: bryan
GPG key ID: 6ABDCD144D6643C8
27 changed files with 247 additions and 170 deletions

View file

@ -1,11 +0,0 @@
local function load_config_directory(directory)
local config_path = vim.fn.stdpath("config") .. "/lua/" .. directory
local files = vim.fn.glob(config_path .. "/*.lua", false, true)
for _, file in ipairs(files) do
local file_name = vim.fn.fnamemodify(file, ":t:r") -- Extract filename without extension
require(directory .. "." .. file_name)
end
end
load_config_directory("config")

View file

@ -1,23 +0,0 @@
-- Keep cursor centered while navigating document
vim.keymap.set("n", "<C-U>", "<C-U>zz", { silent = true })
vim.keymap.set("n", "<C-D>", "<C-D>zz", { silent = true })
-- Remap Ctrl + J/K/H/L to navigate between windows
vim.keymap.set('n', '<C-j>', '<C-w>j', { noremap = true, silent = true })
vim.keymap.set('n', '<C-k>', '<C-w>k', { noremap = true, silent = true })
vim.keymap.set('n', '<C-h>', '<C-w>h', { noremap = true, silent = true })
vim.keymap.set('n', '<C-l>', '<C-w>l', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Right>', ':vertical resize +10<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Left>', ':vertical resize -10<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Up>', ':horizontal resize +10<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Down>', ':horizontal resize -10<CR>', { noremap = true, silent = true })
-- Remap Shift + H/L to switch between buffers
vim.keymap.set('n', '<S-h>', ':bprevious<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<S-l>', ':bnext<CR>', { noremap = true, silent = true })
vim.keymap.set("v", "<", "<gv")
vim.keymap.set("v", ">", ">gv")
vim.keymap.set("n", "<Esc>", ':nohlsearch<Bar>let @/=""<CR>', { noremap = true, silent = true})

View file

@ -1,35 +0,0 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "onedark" } },
-- automatically check for plugin updates
checker = { enabled = false },
})

View file

@ -1,2 +1,11 @@
-- bootstrap lazy.nvim, LazyVim and your plugins local function load_config_directory(directory)
require("config.lazy") local config_path = vim.fn.stdpath("config") .. "/lua/" .. directory
local files = vim.fn.glob(config_path .. "/*.lua", false, true)
for _, file in ipairs(files) do
local file_name = vim.fn.fnamemodify(file, ":t:r") -- Extract filename without extension
require(directory .. "." .. file_name)
end
end
load_config_directory("config")

View file

@ -1,8 +1,23 @@
-- Keymaps are automatically loaded on the VeryLazy event -- Keep cursor centered while navigating document
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here
vim.keymap.set("n", "<C-U>", "<C-U>zz", { silent = true }) vim.keymap.set("n", "<C-U>", "<C-U>zz", { silent = true })
vim.keymap.set("n", "<C-D>", "<C-D>zz", { silent = true }) vim.keymap.set("n", "<C-D>", "<C-D>zz", { silent = true })
vim.keymap.set("n", "H", ":bprev<CR>", { silent = true })
vim.keymap.set("n", "L", ":bnext<CR>", { silent = true }) -- Remap Ctrl + J/K/H/L to navigate between windows
vim.keymap.set('n', '<C-j>', '<C-w>j', { noremap = true, silent = true })
vim.keymap.set('n', '<C-k>', '<C-w>k', { noremap = true, silent = true })
vim.keymap.set('n', '<C-h>', '<C-w>h', { noremap = true, silent = true })
vim.keymap.set('n', '<C-l>', '<C-w>l', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Right>', ':vertical resize +10<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Left>', ':vertical resize -10<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Up>', ':horizontal resize +10<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-Down>', ':horizontal resize -10<CR>', { noremap = true, silent = true })
-- Remap Shift + H/L to switch between buffers
vim.keymap.set('n', '<S-h>', ':bprevious<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<S-l>', ':bnext<CR>', { noremap = true, silent = true })
vim.keymap.set("v", "<", "<gv")
vim.keymap.set("v", ">", ">gv")
vim.keymap.set("n", "<Esc>", ':nohlsearch<Bar>let @/=""<CR>', { noremap = true, silent = true})

View file

@ -1,50 +1,35 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then if not (vim.uv or vim.loop).fs_stat(lazypath) then
-- bootstrap lazy.nvim local lazyrepo = "https://github.com/folke/lazy.nvim.git"
-- stylua: ignore local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end end
vim.opt.rtp:prepend(vim.env.LAZY or lazypath) vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({ require("lazy").setup({
--config = function ()
-- vim.cmd([[
-- hi LazyNormal guibg=#060810 ctermbg=#060810
-- hi LazyProp guibg=NONE ctermbg=NONE
-- ]])
--end,
spec = { spec = {
-- add LazyVim and import its plugins -- import your plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import any extras modules here
{ import = "lazyvim.plugins.extras.dap.core" },
-- import/override with your plugins
{ import = "plugins" }, { import = "plugins" },
}, },
defaults = { -- Configure any other settings here. See the documentation for more details.
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. -- colorscheme that will be used when installing plugins.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. install = { colorscheme = { "onedark" } },
lazy = false, -- automatically check for plugin updates
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning, checker = { enabled = false },
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "github-theme" } },
checker = { enabled = false }, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
-- "matchit",
-- "matchparen",
-- "netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
},
},
},
}) })

View file

@ -1,30 +1,33 @@
-- Options are automatically loaded before lazy.nvim startup vim.o.clipboard = "unnamedplus"
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua vim.g.autoformat = false
-- Add any additional options here
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
vim.opt.termguicolors = true
vim.opt.tabstop = 2 vim.opt.tabstop = 2
vim.opt.shiftwidth = 2 vim.opt.shiftwidth = 2
vim.opt.softtabstop = 2 vim.opt.softtabstop = 2
vim.opt.expandtab = true vim.opt.expandtab = true
vim.opt.smartindent = true vim.opt.smartindent = true
vim.cmd([[
autocmd FileType c,cpp,haskell,python setlocal tabstop=4 shiftwidth=4 softtabstop=4
]])
vim.cmd([[
au BufRead,BufNewFile *.purs set filetype=purescript
]])
vim.opt.ignorecase = true vim.opt.ignorecase = true
vim.opt.smartcase = true vim.opt.smartcase = false
vim.opt.incsearch = false
vim.opt.swapfile = false vim.opt.swapfile = false
vim.opt.backup = false vim.opt.backup = false
vim.opt.undofile = true vim.opt.undofile = true
vim.o.termguicolors = true vim.o.termguicolors = false
vim.opt.guicursor = "n-v-c:block,i:block,r:block" vim.opt.guicursor = "n-v-c:block,i:block,r:block"
vim.g.autoformat = false
vim.cmd([[highlight PmenuSel guifg=#53565d guibg=#f0c981]]) vim.opt.fillchars = { eob = " " }
vim.cmd([[
autocmd FileType python,haskell,c,cpp setlocal tabstop=4 shiftwidth=4 softtabstop=4
]])
vim.cmd([[
au BufRead,BufNewFile *.purs set filetype=purescript
]])

View file

@ -0,0 +1,7 @@
return {
{ "williamboman/mason.nvim", enabled = false },
{ "williamboman/mason-lspconfig.nvim", enabled = false },
{ "jay-babu/mason-nvim-dap.nvim", enabled = false },
{ "catppuccin/nvim", enabled = false },
{ "folke/flash.nvim", enabled = false },
}

View file

@ -1,3 +1,19 @@
local servers = {
"tsserver",
"pyright",
"nil_ls",
"cssls",
"html",
"lua_ls",
"marksman",
"tailwindcss",
"bashls",
"clangd",
"jsonls",
"vuels"
--"arduino-language-server"
}
return { return {
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
@ -56,17 +72,22 @@ return {
--}, --},
{ {
"williamboman/mason.nvim", "VonHeikemen/lsp-zero.nvim",
config = function() branch = "v2.x",
require("mason").setup{} dependencies = {
end { "neovim/nvim-lspconfig" },
},
{ { "hrsh7th/nvim-cmp" },
"williamboman/mason-lspconfig.nvim", { "hrsh7th/cmp-buffer" },
dependencies = { "williamboman/mason.nvim" }, { "hrsh7th/cmp-path" },
config = function() { "hrsh7th/cmp-nvim-lsp" },
require("mason-lspconfig").setup{}
{ "L3MON4D3/LuaSnip" },
},
config = function ()
local lsp = require('lsp-zero').preset({})
lsp.setup_servers(servers)
lsp.setup()
end end
}, },
@ -129,7 +150,6 @@ return {
local lsp = require('lspconfig') local lsp = require('lspconfig')
local navic = require('nvim-navic') local navic = require('nvim-navic')
local capabilities = require('cmp_nvim_lsp').default_capabilities() local capabilities = require('cmp_nvim_lsp').default_capabilities()
local servers = require('mason-lspconfig').get_installed_servers()
for _, server in ipairs(servers) do for _, server in ipairs(servers) do
lsp[server].setup { lsp[server].setup {

View file

@ -0,0 +1,2 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")

View file

@ -0,0 +1,8 @@
-- Keymaps are automatically loaded on the VeryLazy event
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
-- Add any additional keymaps here
vim.keymap.set("n", "<C-U>", "<C-U>zz", { silent = true })
vim.keymap.set("n", "<C-D>", "<C-D>zz", { silent = true })
vim.keymap.set("n", "H", ":bprev<CR>", { silent = true })
vim.keymap.set("n", "L", ":bnext<CR>", { silent = true })

View file

@ -0,0 +1,50 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
-- bootstrap lazy.nvim
-- stylua: ignore
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
require("lazy").setup({
--config = function ()
-- vim.cmd([[
-- hi LazyNormal guibg=#060810 ctermbg=#060810
-- hi LazyProp guibg=NONE ctermbg=NONE
-- ]])
--end,
spec = {
-- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import any extras modules here
{ import = "lazyvim.plugins.extras.dap.core" },
-- import/override with your plugins
{ import = "plugins" },
},
defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
lazy = false,
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
-- have outdated releases, which may break your Neovim install.
version = false, -- always use the latest git commit
-- version = "*", -- try installing the latest stable version for plugins that support semver
},
install = { colorscheme = { "github-theme" } },
checker = { enabled = false }, -- automatically check for plugin updates
performance = {
rtp = {
-- disable some rtp plugins
disabled_plugins = {
"gzip",
-- "matchit",
-- "matchparen",
-- "netrwPlugin",
"tarPlugin",
"tohtml",
"tutor",
"zipPlugin",
},
},
},
})

View file

@ -1,33 +1,30 @@
vim.o.clipboard = "unnamedplus" -- Options are automatically loaded before lazy.nvim startup
vim.g.autoformat = false -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.cursorline = true
vim.opt.termguicolors = true
vim.opt.tabstop = 2 vim.opt.tabstop = 2
vim.opt.shiftwidth = 2 vim.opt.shiftwidth = 2
vim.opt.softtabstop = 2 vim.opt.softtabstop = 2
vim.opt.expandtab = true vim.opt.expandtab = true
vim.opt.smartindent = true vim.opt.smartindent = true
vim.opt.ignorecase = true
vim.opt.smartcase = false
vim.opt.incsearch = false
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undofile = true
vim.o.termguicolors = false
vim.opt.guicursor = "n-v-c:block,i:block,r:block"
--vim.opt.fillchars = { eob = " " }
vim.cmd([[ vim.cmd([[
autocmd FileType python,haskell,c,cpp setlocal tabstop=4 shiftwidth=4 softtabstop=4 autocmd FileType c,cpp,haskell,python setlocal tabstop=4 shiftwidth=4 softtabstop=4
]]) ]])
vim.cmd([[ vim.cmd([[
au BufRead,BufNewFile *.purs set filetype=purescript au BufRead,BufNewFile *.purs set filetype=purescript
]]) ]])
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undofile = true
vim.o.termguicolors = true
vim.opt.guicursor = "n-v-c:block,i:block,r:block"
vim.g.autoformat = false
vim.cmd([[highlight PmenuSel guifg=#53565d guibg=#f0c981]])

View file

@ -0,0 +1,27 @@
{ pkgs, ... }:
let
lsp = with pkgs; [
nil
marksman
sumneko-lua-language-server stylua
nodePackages."@tailwindcss/language-server"
clang-tools
#arduino-language-server
];
lsp' = with pkgs.nodePackages; [
typescript-language-server
vscode-langservers-extracted
bash-language-server
pyright
vls
];
extraPackages = with pkgs; [
lazygit
gcc
];
in
extraPackages ++ lsp ++ lsp'

View file

@ -0,0 +1,23 @@
{ pkgs, lib, config, ... }:
with lib;
let
cfg = config.modules.user.utils.neovim;
in
{ options.modules.user.utils.neovim = { enable = mkEnableOption "user.utils.neovim"; };
config = mkIf cfg.enable {
programs.neovim = {
enable = true;
defaultEditor = true;
vimAlias = true;
vimdiffAlias = true;
extraPackages = import ./config/pkgs.nix { inherit pkgs; };
};
home.file.".config/nvim" = {
source = ./config/lazyvim;
recursive = true;
};
};
}