2022-01-30 20:19:35 +01:00
|
|
|
{ pkgs, ... }:
|
|
|
|
let
|
|
|
|
config-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
|
|
|
name = "config-nvim";
|
|
|
|
src = ../../dotfiles/neovim;
|
|
|
|
};
|
2022-02-01 00:06:48 +01:00
|
|
|
in
|
|
|
|
|
|
|
|
{
|
|
|
|
home-manager.users.adrielus.programs.neovim = {
|
2022-01-30 20:19:35 +01:00
|
|
|
enable = true;
|
|
|
|
package = pkgs.neovim-nightly;
|
2022-01-30 19:10:57 +01:00
|
|
|
|
2022-01-30 20:19:35 +01:00
|
|
|
extraConfig = ''
|
2022-01-30 19:10:57 +01:00
|
|
|
let g:disable_paq = v:true
|
|
|
|
luafile ${config-nvim}/init.lua
|
|
|
|
'';
|
|
|
|
|
2022-02-01 00:06:48 +01:00
|
|
|
extraPackages = with pkgs; [
|
|
|
|
fzf # Required by lua-fzf
|
2022-01-31 21:54:22 +01:00
|
|
|
|
|
|
|
# Language servers
|
2022-02-01 00:06:48 +01:00
|
|
|
nodePackages.typescript # typescript
|
|
|
|
easy-purescript-nix.purescript-language-server # purescript
|
|
|
|
sumneko-lua-language-server # lua
|
|
|
|
efm-langserver # auto-formatting
|
|
|
|
rnix-lsp # nix
|
2022-01-31 21:54:22 +01:00
|
|
|
|
2022-02-01 00:06:48 +01:00
|
|
|
# Formatters
|
|
|
|
luaformatter # lua
|
2022-01-31 21:41:13 +01:00
|
|
|
];
|
2022-01-30 20:19:35 +01:00
|
|
|
|
2022-01-31 21:41:13 +01:00
|
|
|
plugins = with pkgs.vimPlugins;
|
|
|
|
with pkgs.vimExtraPlugins; [
|
|
|
|
config-nvim # my neovim config
|
|
|
|
github-nvim-theme # github theme for neovim
|
|
|
|
nvim-lspconfig # configures lsps for me
|
|
|
|
nvim-autopairs # close pairs for me
|
2022-01-31 21:54:22 +01:00
|
|
|
fzf-lua # fuzzy search for say opening files
|
2022-02-01 00:06:48 +01:00
|
|
|
purescript-vim # purescript syntax highlighting
|
|
|
|
nvim-comment # allows toggling line-comments
|
2022-01-31 21:41:13 +01:00
|
|
|
];
|
2022-01-30 19:10:57 +01:00
|
|
|
};
|
|
|
|
}
|