little tweaks, neovim lsp
This commit is contained in:
parent
a7e35b5db6
commit
6225a0b19b
8 changed files with 49 additions and 119 deletions
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -28,11 +28,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765384171,
|
"lastModified": 1765979862,
|
||||||
"narHash": "sha256-FuFtkJrW1Z7u+3lhzPRau69E0CNjADku1mLQQflUORo=",
|
"narHash": "sha256-/r9/1KamvbHJx6I40H4HsSXnEcBAkj46ZwibhBx9kg0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "44777152652bc9eacf8876976fa72cc77ca8b9d8",
|
"rev": "d3135ab747fd9dac250ffb90b4a7e80634eacbe9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -44,11 +44,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765311797,
|
"lastModified": 1765838191,
|
||||||
"narHash": "sha256-mSD5Ob7a+T2RNjvPvOA1dkJHGVrNVl8ZOrAwBjKBDQo=",
|
"narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "09eb77e94fa25202af8f3e81ddc7353d9970ac1b",
|
"rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -60,11 +60,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765186076,
|
"lastModified": 1765779637,
|
||||||
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
|
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
|
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -80,11 +80,11 @@
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765583185,
|
"lastModified": 1766058243,
|
||||||
"narHash": "sha256-v1WcrCvPJXjDwQTbWCuPnK+iCWhxNSa1z7MJAHF2+jw=",
|
"narHash": "sha256-lGN5FrjWDM3OaRI0J5N1uBoCLL/prKXemUzpSn7BiwQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "65ea83daeb5af2b16e64d17820625db7ed5e8268",
|
"rev": "ae427c51dbb9d49ce1b47086a7db9d35e696471f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,11 @@
|
||||||
set -gx EDITOR "nvim"
|
set -gx EDITOR "nvim"
|
||||||
set -gx VISUAL "nvim"
|
set -gx VISUAL "nvim"
|
||||||
|
|
||||||
function fish_greeting; end
|
function fish_greeting;
|
||||||
|
echo (set_color magenta)fish $version(set_color normal)
|
||||||
|
end
|
||||||
|
|
||||||
|
fzf --fish | source
|
||||||
|
|
||||||
function startrloft --description 'Starts R with custom environment'
|
function startrloft --description 'Starts R with custom environment'
|
||||||
set -lx R_ENVIRON_USER "~/.config/rloft/RLoft_environ"
|
set -lx R_ENVIRON_USER "~/.config/rloft/RLoft_environ"
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
|
|
||||||
main = {
|
main = {
|
||||||
shell = "${pkgs.fish}/bin/fish -c 'tmux attach'";
|
shell = "${pkgs.fish}/bin/fish -c 'tmux attach'";
|
||||||
pad = "18x18";
|
pad = "34x34";
|
||||||
# font = "JetBrains Mono:size=16";
|
# font = "JetBrains Mono:size=16";
|
||||||
font = "Adwaita Mono:size=16";
|
font = "Adwaita Mono:size=17";
|
||||||
initial-window-mode = "maximized";
|
initial-window-mode = "maximized";
|
||||||
line-height = "20";
|
# line-height = "20";
|
||||||
};
|
};
|
||||||
|
|
||||||
mouse.hide-when-typing = "yes";
|
mouse.hide-when-typing = "yes";
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,22 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./khard-dump.nix ];
|
imports = [ ./khard-dump.nix ];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nodePackages.typescript-language-server
|
astro-language-server
|
||||||
marksman
|
marksman
|
||||||
|
nil
|
||||||
|
typescript-language-server
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
extraConfig = builtins.readFile ./config.vim;
|
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
plugins = with pkgs.vimPlugins;
|
|
||||||
|
|
||||||
|
extraConfig = builtins.readFile ./config.vim;
|
||||||
|
|
||||||
|
plugins = with pkgs.vimPlugins;
|
||||||
let
|
let
|
||||||
woof = pkgs.vimUtils.buildVimPlugin {
|
woof = pkgs.vimUtils.buildVimPlugin {
|
||||||
name = "woof.vim";
|
name = "woof.vim";
|
||||||
|
|
@ -24,25 +30,22 @@
|
||||||
in
|
in
|
||||||
|
|
||||||
[
|
[
|
||||||
{
|
woof
|
||||||
plugin = woof;
|
|
||||||
config = ''
|
# cmp-nvim-lsp
|
||||||
let maplocalleader="\\"
|
# cmp-buffer
|
||||||
let mapleader=" "
|
# cmp-emoji
|
||||||
'';
|
# cmp-path
|
||||||
}
|
# cmp-cmdline
|
||||||
|
# cmp-nvim-ultisnips
|
||||||
|
# nvim-cmp
|
||||||
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp-buffer
|
|
||||||
cmp-emoji
|
|
||||||
cmp-path
|
|
||||||
cmp-cmdline
|
|
||||||
cmp-nvim-ultisnips
|
|
||||||
nvim-cmp
|
|
||||||
{
|
{
|
||||||
plugin = nvim-lspconfig;
|
plugin = nvim-lspconfig;
|
||||||
config = builtins.readFile ./lsp.vim;
|
type = "lua";
|
||||||
|
config = builtins.readFile ./lsp.lua;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
plugin = fzf-vim;
|
plugin = fzf-vim;
|
||||||
config = ''
|
config = ''
|
||||||
|
|
|
||||||
6
home/nvim/lsp.lua
Normal file
6
home/nvim/lsp.lua
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
vim.lsp.enable('astro')
|
||||||
|
vim.lsp.enable('marksman')
|
||||||
|
vim.lsp.enable('nil_ls')
|
||||||
|
vim.lsp.enable('r_language_server')
|
||||||
|
vim.lsp.enable('texlab')
|
||||||
|
vim.lsp.enable('ts_ls')
|
||||||
|
|
@ -1,84 +0,0 @@
|
||||||
lua <<EOF
|
|
||||||
|
|
||||||
local cmp = require('cmp')
|
|
||||||
|
|
||||||
cmp.setup({
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
vim.fn["UltiSnips#Anon"](args.body)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
performance = {
|
|
||||||
debounce = 500,
|
|
||||||
throttle = 500,
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
documentation = cmp.config.window.bordered(),
|
|
||||||
completion = cmp.config.window.bordered(),
|
|
||||||
},
|
|
||||||
mapping = {
|
|
||||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
|
||||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<C-g>'] = cmp.mapping.abort(),
|
|
||||||
-- ['<Tab>'] = cmp.mapping.confirm({ select = true }),
|
|
||||||
['<Cr>'] = cmp.mapping.confirm({ select = false }),
|
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
},
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'emoji' },
|
|
||||||
}, {
|
|
||||||
{ name = 'buffer', option = { keyword_pattern = [[\k\+]]}},
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
cmp.setup.filetype('gitcommit', {
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
{ name = 'cmp_git' },
|
|
||||||
}, {
|
|
||||||
{ name = 'buffer' },
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
cmp.setup.cmdline({ '/', '?' }, {
|
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
|
||||||
sources = {
|
|
||||||
{ name = 'buffer' }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
cmp.setup.cmdline(':', {
|
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
|
||||||
sources = cmp.config.sources( {
|
|
||||||
{ name = 'cmdline' }
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
local on_attach = function(_, _)
|
|
||||||
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, {})
|
|
||||||
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, {})
|
|
||||||
vim.keymap.set('n', '<leader>f', vim.lsp.buf.format, {})
|
|
||||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, {})
|
|
||||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, {})
|
|
||||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, {})
|
|
||||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, {})
|
|
||||||
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, {})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- this interferes with cool vim surround stuff
|
|
||||||
vim.keymap.del('i', '<C-s>', {})
|
|
||||||
|
|
||||||
local nvim_lsp = require('lspconfig')
|
|
||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
|
||||||
local servers = { "r_language_server", "ts_ls", "astro", "texlab", "marksman" }
|
|
||||||
for _, lsp in ipairs(servers) do
|
|
||||||
nvim_lsp[lsp].setup {
|
|
||||||
on_attach = on_attach,
|
|
||||||
flags = {
|
|
||||||
debounce_text_changes = 1000,
|
|
||||||
},
|
|
||||||
capabilities = capabilities
|
|
||||||
}
|
|
||||||
end
|
|
||||||
EOF
|
|
||||||
|
|
@ -24,6 +24,6 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
services.gnome.gnome-browser-connector.enable = true;
|
services.gnome.gnome-browser-connector.enable = true;
|
||||||
services.gnome.gnome-keyring.enable = lib.mkForce false;
|
# services.gnome.gnome-keyring.enable = lib.mkForce false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
services.flaresolverr.enable = true;
|
services.flaresolverr.enable = true;
|
||||||
services.prowlarr.enable = true;
|
services.prowlarr.enable = true;
|
||||||
services.bazarr.enable = true;
|
services.bazarr.enable = true;
|
||||||
|
services.lidarr.enable = true;
|
||||||
|
|
||||||
users.groups.media = {};
|
users.groups.media = {};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue