little tweaks, neovim lsp

This commit is contained in:
Till 2025-12-19 18:30:25 +01:00
parent a7e35b5db6
commit 6225a0b19b
8 changed files with 49 additions and 119 deletions

24
flake.lock generated
View file

@ -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": {

View file

@ -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"

View file

@ -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";

View file

@ -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
View 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')

View file

@ -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

View file

@ -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;
} }

View file

@ -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 = {};