mirror of https://github.com/wlcx/home.git
Split dev vim config into own file
This commit is contained in:
parent
bea19cb5a0
commit
835a3a6018
|
@ -0,0 +1,49 @@
|
||||||
|
-- More vim init for "bells and whistles you are using vim for dev" mode
|
||||||
|
|
||||||
|
-- LSP
|
||||||
|
local opts = { noremap=true, silent=true }
|
||||||
|
local on_attach = function(client, bufnr)
|
||||||
|
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||||
|
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Enable Language LSPs
|
||||||
|
require'lspconfig'.gopls.setup{
|
||||||
|
on_attach = on_attach,
|
||||||
|
}
|
||||||
|
require'lspconfig'.pylsp.setup{
|
||||||
|
on_attach = on_attach,
|
||||||
|
handlers = {
|
||||||
|
["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||||
|
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||||
|
-- Disable virtual_text
|
||||||
|
virtual_text = false
|
||||||
|
}
|
||||||
|
),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
require'lspconfig'.rnix.setup{
|
||||||
|
on_attach = on_attach
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Diags with Trouble
|
||||||
|
require('trouble').setup {
|
||||||
|
icons = false,
|
||||||
|
signs = {
|
||||||
|
error = "E",
|
||||||
|
warning = "W",
|
||||||
|
hint = "H",
|
||||||
|
information = "I"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.g.rustfmt_autosave = 1
|
||||||
|
|
||||||
|
-- Tree-sitter
|
||||||
|
require'nvim-treesitter.configs'.setup {
|
||||||
|
highlight = {
|
||||||
|
enable = true
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,50 +17,3 @@ vim.o.termguicolors = true
|
||||||
-- Keybinds
|
-- Keybinds
|
||||||
vim.api.nvim_set_keymap('n','<C-P>', '<cmd> FZF<CR>', { noremap=true })
|
vim.api.nvim_set_keymap('n','<C-P>', '<cmd> FZF<CR>', { noremap=true })
|
||||||
|
|
||||||
-- LSP
|
|
||||||
local opts = { noremap=true, silent=true }
|
|
||||||
local on_attach = function(client, bufnr)
|
|
||||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Enable Language LSPs
|
|
||||||
require'lspconfig'.gopls.setup{
|
|
||||||
on_attach = on_attach,
|
|
||||||
}
|
|
||||||
require'lspconfig'.pylsp.setup{
|
|
||||||
on_attach = on_attach,
|
|
||||||
handlers = {
|
|
||||||
["textDocument/publishDiagnostics"] = vim.lsp.with(
|
|
||||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
|
||||||
-- Disable virtual_text
|
|
||||||
virtual_text = false
|
|
||||||
}
|
|
||||||
),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
require'lspconfig'.rnix.setup{
|
|
||||||
on_attach = on_attach
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Diags with Trouble
|
|
||||||
require('trouble').setup {
|
|
||||||
icons = false,
|
|
||||||
signs = {
|
|
||||||
error = "E",
|
|
||||||
warning = "W",
|
|
||||||
hint = "H",
|
|
||||||
information = "I"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.g.rustfmt_autosave = 1
|
|
||||||
|
|
||||||
-- Tree-sitter
|
|
||||||
require'nvim-treesitter.configs'.setup {
|
|
||||||
highlight = {
|
|
||||||
enable = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,6 +1,17 @@
|
||||||
{
|
{
|
||||||
dev = { ... }: { imports = [ ./default.nix ./git.nix ./rust.nix ./vim.nix ]; };
|
dev = { ... }: {
|
||||||
laptop = { ... }: {
|
imports = [ ./default.nix ./git.nix ./rust.nix ./vim.nix ./vim-dev.nix ];
|
||||||
imports = [ ./default.nix ./git.nix ./macs.nix ./rust.nix ./vim.nix ./passwords.nix ];
|
|
||||||
};
|
};
|
||||||
|
laptop = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./default.nix
|
||||||
|
./git.nix
|
||||||
|
./macs.nix
|
||||||
|
./rust.nix
|
||||||
|
./vim.nix
|
||||||
|
./vim-dev.nix
|
||||||
|
./passwords.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
server = { ... }: { imports = [ ./default.nix ./git.nix ./vim.nix ]; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.neovim.plugins = with pkgs.vimPlugins; [
|
||||||
|
# More fancy shit
|
||||||
|
nvim-treesitter
|
||||||
|
# Language stuff
|
||||||
|
nvim-lspconfig
|
||||||
|
trouble-nvim
|
||||||
|
vim-nix
|
||||||
|
rust-vim
|
||||||
|
vim-go
|
||||||
|
];
|
||||||
|
programs.neovim.extraConfig = ''
|
||||||
|
lua <<EOF
|
||||||
|
${builtins.readFile ./dev.lua}
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
}
|
10
home/vim.nix
10
home/vim.nix
|
@ -1,6 +1,6 @@
|
||||||
# This module sets up a "full" neovim install with plugins and unicorns. It
|
# This module sets up a "full" neovim install with plugins and unicorns. It
|
||||||
# also makes neovim the default editor and aliases vim to nvim.
|
# also makes neovim the default editor and aliases vim to nvim.
|
||||||
{ pkgs, ... }: {
|
{ pkgs, lib, strings, ... }: {
|
||||||
home.sessionVariables = { "EDITOR" = "nvim"; };
|
home.sessionVariables = { "EDITOR" = "nvim"; };
|
||||||
home.packages = with pkgs; [ rnix-lsp ripgrep ];
|
home.packages = with pkgs; [ rnix-lsp ripgrep ];
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
|
@ -14,14 +14,6 @@
|
||||||
gruvbox-nvim
|
gruvbox-nvim
|
||||||
fzfWrapper # The basic "built in" fzf stuff
|
fzfWrapper # The basic "built in" fzf stuff
|
||||||
fzf-vim # The fancier opt in fzf stuff
|
fzf-vim # The fancier opt in fzf stuff
|
||||||
# More fancy shit
|
|
||||||
nvim-treesitter
|
|
||||||
# Language stuff
|
|
||||||
nvim-lspconfig
|
|
||||||
trouble-nvim
|
|
||||||
vim-nix
|
|
||||||
rust-vim
|
|
||||||
vim-go
|
|
||||||
# Git stuff
|
# Git stuff
|
||||||
fugitive
|
fugitive
|
||||||
vim-gitgutter
|
vim-gitgutter
|
||||||
|
|
Loading…
Reference in New Issue