home/nvim: update to nightly, add diaglist

This commit is contained in:
Gabriel Fontes
2022-09-26 01:08:53 -03:00
parent ef4a306ab5
commit faf2de8bc8
6 changed files with 132 additions and 55 deletions
Generated
+80 -2
View File
@@ -87,6 +87,22 @@
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1650374568,
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1627913399,
@@ -103,6 +119,21 @@
}
},
"flake-utils": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1634851050,
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
@@ -210,6 +241,52 @@
"type": "github"
}
},
"neovim-flake": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
]
},
"locked": {
"dir": "contrib",
"lastModified": 1664071030,
"narHash": "sha256-nRSzdEqhxQL8eHJIM/x6yxNnFExplHmhDpmQMJFy9MU=",
"owner": "neovim",
"repo": "neovim",
"rev": "2a3cb0893b03aeff4d8c0b2116cbddda53bba5a2",
"type": "github"
},
"original": {
"dir": "contrib",
"owner": "neovim",
"repo": "neovim",
"type": "github"
}
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat_2",
"neovim-flake": "neovim-flake",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1664093888,
"narHash": "sha256-UMlfdR1LCQUIhuxU5u9SifRcz1W4xG+Z/WS2svI1yHg=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "f1bceeb452db3a70638a96529829da7768e58acd",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"type": "github"
}
},
"nix-colors": {
"inputs": {
"base16-schemes": "base16-schemes",
@@ -387,8 +464,8 @@
},
"peerix": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils",
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs"
]
@@ -415,6 +492,7 @@
"hyprland": "hyprland",
"hyprwm-contrib": "hyprwm-contrib",
"impermanence": "impermanence",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nix-colors": "nix-colors",
"nixos-mailserver": "nixos-mailserver",
"nixpkgs": "nixpkgs",
+6
View File
@@ -30,6 +30,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
# Nixified software I use
hyprland = {
url = "github:hyprwm/hyprland/v0.13.1beta";
@@ -67,6 +72,7 @@
hyprland = inputs.hyprland.overlays.default;
hyprwm-contrib = inputs.hyprwm-contrib.overlays.default;
paste-misterio-me = inputs.paste-misterio-me.overlay;
neovim-nightly-overlay = inputs.neovim-nightly-overlay.overlay;
website = inputs.website.overlays.default;
};
+12 -17
View File
@@ -1,4 +1,4 @@
{ config, pkgs, ... }: {
{ config, pkgs, lib, ... }: {
imports = [ ./lsp.nix ];
home = {
@@ -52,15 +52,14 @@
nmap <C-j> <C-e>
nmap <C-k> <C-y>
"Bind make
nmap <space>m <cmd>make<cr>
nmap <space>q <cmd>cwindow<cr>
nmap <space>l <cmd>lwindow<cr>
"Bind vimgrep
nmap <space>g :vimgrep<space>
"Bind changing buffer
set wildcharm=<C-Z>
nmap <space>b :buffers<CR> :buffer <C-Z>
nmap <space>b :buffer <C-Z>
nmap <C-l> :bnext<CR>
nmap <C-h> :bprev<CR>
nmap <C-q> :bdel<CR>
'';
plugins = with pkgs.vimPlugins; [
@@ -153,15 +152,11 @@
];
};
xdg.configFile."nvim/init.lua".onChange =
let
nvr = "${pkgs.neovim-remote}/bin/nvr";
in
/* sh */ ''
${nvr} --serverlist | while read server; do
${nvr} --servername $server --nostart -c ':so $MYVIMRC' & \
done
'';
xdg.configFile."nvim/init.lua".onChange = ''
for server in $XDG_RUNTIME_DIR/nvim.*; do
nvim --server $server --remote-send ':source $MYVIMRC<CR>' &
done
'';
xdg.desktopEntries = {
nvim = {
+31 -34
View File
@@ -3,24 +3,41 @@
home.packages = with pkgs; [ rnix-lsp ];
programs.neovim = {
extraConfig.lua = /* lua */ ''
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "Go to declaration" })
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" })
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { desc = "Go to implementation" })
vim.keymap.set("n", "<space>f", vim.lsp.buf.formatting, { desc = "Format code" })
vim.keymap.set("n", "K", vim.lsp.buf.hover, { desc = "Hover Documentation" })
extraConfig.lua = /* lua */ ''
-- LSP
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "Go to declaration" })
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "Go to definition" })
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { desc = "Go to implementation" })
vim.keymap.set("n", "<space>f", vim.lsp.buf.format, { desc = "Format code" })
vim.keymap.set("n", "K", vim.lsp.buf.hover, { desc = "Hover Documentation" })
function add_sign(name, text)
vim.fn.sign_define(name, { text = text, texthl = name, numhl = name})
end
-- Diagnostic
vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, { desc = "Floating diagnostic" })
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Previous diagnostic" })
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Next diagnostic" })
add_sign("DiagnosticSignError", " ")
add_sign("DiagnosticSignWarn", " ")
add_sign("DiagnosticSignHint", " ")
add_sign("DiagnosticSignInfo", " ")
'';
function add_sign(name, text)
vim.fn.sign_define(name, { text = text, texthl = name, numhl = name})
end
add_sign("DiagnosticSignError", " ")
add_sign("DiagnosticSignWarn", " ")
add_sign("DiagnosticSignHint", " ")
add_sign("DiagnosticSignInfo", " ")
'';
plugins = with pkgs.vimPlugins; [
# LSP
{
plugin = diaglist-nvim;
type = "lua";
config = /* lua */ ''
require('diaglist').init()
vim.api.nvim_create_autocmd('LspAttach', {
callback = require('diaglist/quickfix').populate_qflist
})
'';
}
{
plugin = nvim-lspconfig;
type = "lua";
@@ -47,26 +64,6 @@
add_lsp("texlab", lspconfig.texlab, {})
'';
}
{
plugin = null-ls-nvim;
type = "lua";
config = /* lua */ ''
local null_ls = require("null-ls")
local sources = { }
function add_null_ls(binary, server)
if vim.fn.executable(binary) == 1 then table.insert(sources, server) end
end
add_null_ls("curlylint", null_ls.builtins.diagnostics.curlylint)
add_null_ls("sqlfluff", null_ls.builtins.diagnostics.sqlfluff)
add_null_ls("sqlfluff", null_ls.builtins.formatting.sqlfluff)
add_null_ls("jq", null_ls.builtins.formatting.jq)
add_null_ls("true", null_ls.builtins.completion.luasnip)
null_ls.setup({ sources = sources})
'';
}
{
plugin = rust-tools-nvim;
type = "lua";
+2 -2
View File
@@ -20,8 +20,8 @@ let
src = final.fetchFromGitHub {
owner = "hqurve";
repo = "vim-nix";
rev = "26abd9cb976b5f4da6da02ee81449a959027b958";
sha256 = "sha256-7TDW6Dgy/H7PRrIvTMpmXO5/3K5F1d4p3rLYon6h6OU=";
rev = "0c5ea78e5cce406835beee2423e5afdd00521fcb";
sha256 = "sha256-IEWC0pvuZki0OzD5+8njhHsGbFenI4dcYEAjU9sHvTM=";
};
});
} // final.callPackage ../pkgs/vim-plugins { };
+1
View File
@@ -2,5 +2,6 @@
int main() {
std::cout << "Hello, World!";
return 0;
}