stockholm/makefu/2configs/editor/neovim/default.nix
2019-09-25 15:14:29 +02:00

68 lines
2.1 KiB
Nix

{pkgs, config, ...}:
{
fonts.fonts = [ pkgs.font-awesome_5 ];
# Neovim dependencies
home-manager.users.makefu = {
home.packages = with pkgs; [
ctags # dependencie
jq # For fixing json files
xxd # .bin files will be displayed with xxd
shellcheck # Shell linting
# ansible-lint # Ansible linting
unzip # To vim into unzipped files
# nodePackages.jsonlint # json linting
#ccls # C/C++ language server
#clang-tools # C++ fixer
cargo
# Go support
#go
#gotools
#gocode
];
home.file.".config/pycodestyle".text= ''
[pycodestyle]
max-line-length = 125
'';
programs.neovim = {
enable = true;
withPython3 = true;
# withNodeJs = true;
extraPython3Packages = (ps: with ps; [ python-language-server pyls-mypy black libxml2]);
configure = {
customRC = builtins.readFile ./vimrc;
packages.myVimPackage = with pkgs.vimPlugins;
{
# loaded on launch
start = [
undotree
vim-addon-nix
nerdtree # file manager
commentary # comment stuff out based on language
fugitive # full git integration
vim-airline-themes # lean & mean status/tabline
vim-airline # status bar
gitgutter # git diff in the gutter (sign column)
vim-trailing-whitespace # trailing whitspaces in red
tagbar # F3 function overview
ReplaceWithRegister # For better copying/replacing
polyglot # Language pack
vim-indent-guides # for displaying indent levels
deoplete-nvim # general autocompletion
deoplete-go
ale
molokai # color scheme
];
# manually loadable by calling `:packadd $plugin-name`
opt = [];
# To automatically load a plugin when opening a filetype, add vimrc lines like:
# autocmd FileType php :packadd phpCompletion
};
};
};
};
}