1
Fork 0
satellite/modules/applications/neovim.nix

48 lines
1.3 KiB
Nix
Raw Normal View History

2022-01-30 20:19:35 +01:00
{ pkgs, ... }:
let
2022-02-01 14:28:29 +01:00
# config-nvim = "/etc/nixos/configuration/dotfiles/neovim";
2022-01-30 20:19:35 +01:00
config-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
name = "config-nvim";
src = ../../dotfiles/neovim;
};
2022-02-01 00:06:48 +01:00
in
{
2022-02-01 00:19:42 +01:00
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
luafile ${config-nvim}/init.lua
'';
2022-02-01 00:06:48 +01:00
extraPackages = with pkgs; [
2022-01-31 21:54:22 +01:00
# Language servers
2022-02-01 14:28:29 +01:00
nodePackages.typescript-language-server # typescript
2022-02-01 00:06:48 +01:00
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-02-01 14:28:29 +01:00
nodePackages.prettierd # prettier but faster
# Others
fzf # Required by lua-fzf
nodePackages.typescript # typescript language
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-02-01 14:28:29 +01:00
nvim-treesitter # use treesitter for syntax highlighting
2022-01-31 21:41:13 +01:00
];
2022-01-30 19:10:57 +01:00
};
}