fully fleshed out nixd settings and switch to nvim-cmp from COQ. Also updated rebuild to work for both home and system configs

This commit is contained in:
pagedmov
2024-11-07 00:30:18 -05:00
parent fc99570fdc
commit f9fe7155de
4 changed files with 83 additions and 36 deletions

View File

@@ -3,7 +3,7 @@
plugins.coq-nvim = {
enable = true;
settings = {
auto_start = true;
auto_start = false;
};
};
};

View File

@@ -5,10 +5,10 @@
./alpha.nix
./haskell.nix
./vim-matchup.nix
./coq.nix
# ./coq.nix
./barbar.nix
./cmp.nix
( import ./lsp.nix { inherit host self; })
./lsp.nix
./lualine.nix
./plugins.nix
./nvim-tree.nix

View File

@@ -1,37 +1,82 @@
{ host, ... }:
let
flakePath = builtins.getEnv "FLAKEPATH";
in
{
programs.nixvim = {
plugins.lsp = {
enable = true;
servers = {
bashls.enable = true;
ccls.enable = true;
clangd.enable = true;
cmake.enable = true;
html.enable = true;
jsonls.enable = true;
lua_ls.enable = true;
marksman.enable = true;
nixd = {
enable = true;
settings = {
nixd = {
nixpkgs.expr = "import <nixpkgs> { }";
formatting.command = "nixfmt";
plugins = {
cmp-snippy.enable = true;
cmp = {
enable = true;
settings = {
mapping = {
__raw = ''
cmp.mapping.preset.insert({
['<C-o>'] = cmp.mapping.close_docs(),
['<C-i>'] = cmp.mapping.open_docs(),
['<C-j>'] = cmp.mapping.scroll_docs(-4),
['<C-k>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = function(fallback)
if cmp.visible() then
cmp.confirm()
else
fallback()
end
end, -- Added a comma here
['<Tab>'] = function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, -- Added a comma here
['<S-Tab>'] = function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end -- No comma needed for the last item
})
'';
};
completion = {
keyword_length = 3;
};
window = {
completion.border = "rounded";
};
};
};
lsp = {
enable = true;
servers = {
bashls.enable = true;
ccls.enable = true;
clangd.enable = true;
cmake.enable = true;
html.enable = true;
jsonls.enable = true;
lua_ls.enable = true;
marksman.enable = true;
nixd = {
enable = true;
settings = {
nixd = {
nixpkgs.expr = "import <nixpkgs> { }";
formatting.command = "nixfmt";
};
options = {
# uses Xenon config because it has every option exposed to it
nixos.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").nixosConfigurations.xenon.options";
home.expr = "(builtins.getFlake \"github:pagedMov/nixos-config\").homeConfigurations.xenonHome.options";
};
};
};
};
pyright.enable = true;
sqls.enable = true;
hls = {
enable = true;
installGhc = true;
pyright.enable = true;
sqls.enable = true;
hls = {
enable = true;
installGhc = true;
};
};
};
};