2021-02-22 14:44:22 +01:00
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
|
|
|
# All the aliases
|
|
|
|
viAlias = true;
|
|
|
|
vimAlias = true;
|
|
|
|
vimdiffAlias = true;
|
|
|
|
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
2021-02-23 15:30:50 +01:00
|
|
|
# Theming
|
|
|
|
lightline-vim # Fancy status bar
|
2021-02-23 15:54:11 +01:00
|
|
|
{
|
|
|
|
plugin = onedark-vim; # Nice dark theme
|
|
|
|
optional = true; # Needs to be `packadd`-ed manually...
|
|
|
|
}
|
2021-02-23 15:30:50 +01:00
|
|
|
|
|
|
|
# tpope essentials
|
|
|
|
vim-commentary # Easy comments
|
|
|
|
vim-eunuch # UNIX integrations
|
|
|
|
vim-git # Sane git syntax files
|
|
|
|
vim-repeat # Enanche '.' for plugins
|
|
|
|
vim-rsi # Readline mappings
|
|
|
|
vim-surround # Deal with pairs
|
|
|
|
vim-unimpaired # Some ex command mappings
|
|
|
|
vim-vinegar # Better netrw
|
|
|
|
|
|
|
|
# Languages
|
|
|
|
rust-vim
|
|
|
|
vim-beancount
|
|
|
|
vim-jsonnet
|
2021-02-22 14:44:22 +01:00
|
|
|
vim-nix
|
2021-02-23 15:30:50 +01:00
|
|
|
vim-pandoc
|
|
|
|
vim-pandoc-syntax
|
|
|
|
vim-toml
|
|
|
|
|
|
|
|
# General enhancements
|
|
|
|
fastfold # Better folding
|
|
|
|
vim-qf # Better quick-fix list
|
|
|
|
|
|
|
|
# LSP and linting
|
|
|
|
ale # Asynchronous Linting Engine
|
|
|
|
lightline-ale # Status bar integration
|
2021-02-22 14:44:22 +01:00
|
|
|
];
|
2021-02-23 15:39:23 +01:00
|
|
|
|
|
|
|
extraConfig = builtins.readFile ./init.vim;
|
2021-02-22 14:44:22 +01:00
|
|
|
};
|
2021-02-23 16:04:47 +01:00
|
|
|
|
|
|
|
xdg.configFile = {
|
2021-02-23 16:08:33 +01:00
|
|
|
"nvim/autoload" = {
|
|
|
|
source = ./autoload;
|
|
|
|
};
|
|
|
|
|
2021-02-23 16:07:03 +01:00
|
|
|
"nvim/ftdetect" = {
|
|
|
|
source = ./ftdetect;
|
|
|
|
};
|
|
|
|
|
2021-02-23 16:04:47 +01:00
|
|
|
"nvim/plugin" = {
|
|
|
|
source = ./plugin;
|
|
|
|
};
|
|
|
|
};
|
2021-02-22 14:44:22 +01:00
|
|
|
}
|