mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-24 00:29:43 -04:00
Attempt to switch to non-lazyvim neovim configuration
This commit is contained in:
parent
b24102d423
commit
854d0c583c
27 changed files with 247 additions and 170 deletions
|
|
@ -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")
|
||||
|
|
@ -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})
|
||||
|
|
@ -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 },
|
||||
})
|
||||
|
|
@ -1,2 +1,11 @@
|
|||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
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")
|
||||
|
|
|
|||
|
|
@ -1,8 +1,23 @@
|
|||
-- 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
|
||||
|
||||
-- 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 })
|
||||
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})
|
||||
|
|
|
|||
|
|
@ -1,50 +1,35 @@
|
|||
-- Bootstrap lazy.nvim
|
||||
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 })
|
||||
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
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
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({
|
||||
--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 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",
|
||||
},
|
||||
},
|
||||
},
|
||||
-- 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 },
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,30 +1,33 @@
|
|||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
vim.o.clipboard = "unnamedplus"
|
||||
vim.g.autoformat = false
|
||||
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.expandtab = 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.smartcase = true
|
||||
vim.opt.smartcase = false
|
||||
vim.opt.incsearch = false
|
||||
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
vim.opt.undofile = true
|
||||
|
||||
vim.o.termguicolors = true
|
||||
vim.o.termguicolors = false
|
||||
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
|
||||
]])
|
||||
|
|
|
|||
|
|
@ -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 },
|
||||
}
|
||||
|
|
@ -1,3 +1,19 @@
|
|||
local servers = {
|
||||
"tsserver",
|
||||
"pyright",
|
||||
"nil_ls",
|
||||
"cssls",
|
||||
"html",
|
||||
"lua_ls",
|
||||
"marksman",
|
||||
"tailwindcss",
|
||||
"bashls",
|
||||
"clangd",
|
||||
"jsonls",
|
||||
"vuels"
|
||||
--"arduino-language-server"
|
||||
}
|
||||
|
||||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
|
|
@ -56,17 +72,22 @@ return {
|
|||
--},
|
||||
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
config = function()
|
||||
require("mason").setup{}
|
||||
end
|
||||
},
|
||||
"VonHeikemen/lsp-zero.nvim",
|
||||
branch = "v2.x",
|
||||
dependencies = {
|
||||
{ "neovim/nvim-lspconfig" },
|
||||
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
dependencies = { "williamboman/mason.nvim" },
|
||||
{ "hrsh7th/nvim-cmp" },
|
||||
{ "hrsh7th/cmp-buffer" },
|
||||
{ "hrsh7th/cmp-path" },
|
||||
{ "hrsh7th/cmp-nvim-lsp" },
|
||||
|
||||
{ "L3MON4D3/LuaSnip" },
|
||||
},
|
||||
config = function ()
|
||||
require("mason-lspconfig").setup{}
|
||||
local lsp = require('lsp-zero').preset({})
|
||||
lsp.setup_servers(servers)
|
||||
lsp.setup()
|
||||
end
|
||||
},
|
||||
|
||||
|
|
@ -129,7 +150,6 @@ return {
|
|||
local lsp = require('lspconfig')
|
||||
local navic = require('nvim-navic')
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
local servers = require('mason-lspconfig').get_installed_servers()
|
||||
|
||||
for _, server in ipairs(servers) do
|
||||
lsp[server].setup {
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
|
|
@ -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 })
|
||||
|
|
@ -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",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
@ -1,33 +1,30 @@
|
|||
vim.o.clipboard = "unnamedplus"
|
||||
vim.g.autoformat = false
|
||||
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.termguicolors = true
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- 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.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.expandtab = 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([[
|
||||
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([[
|
||||
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]])
|
||||
27
src/user/modules/utils/modules/nvim.old/config/pkgs.nix
Normal file
27
src/user/modules/utils/modules/nvim.old/config/pkgs.nix
Normal 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'
|
||||
23
src/user/modules/utils/modules/nvim.old/default.nix
Normal file
23
src/user/modules/utils/modules/nvim.old/default.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue