stockholm/mb/2configs/nvim.nix
2019-07-14 13:07:15 +02:00

71 lines
2.1 KiB
Nix

{ pkgs, config, ... }: let
#unstable = import <nixos-unstable> { };
in
{
environment.variables = {
EDITOR = ["nvim"];
};
nixpkgs.config.packageOverrides = pkgs: with pkgs;{
neovim_custom = neovim.override {
configure = {
customRC = builtins.readFile ./neovimrc;
packages.myVimPackage = with pkgs.vimPlugins;
{
# loaded on launch
start = [
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
syntastic # Fallback to singlethreaded but huge syntax support
ReplaceWithRegister # For better copying/replacing
polyglot # Language pack
vim-indent-guides # for displaying indent levels
ale # threaded language client
vim-go # go linting
deoplete-go # go autocompletion completion
deoplete-nvim # general autocompletion
molokai # color scheme
];
# manually loadable by calling `:packadd $plugin-name`
opt = [];
};
};
};
};
environment.systemPackages = with pkgs; [
ctags
neovim_custom
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
#python36Packages.python-language-server # python linting
#python36Packages.pyls-mypy # Python static type checker
#python36Packages.black # Python code formatter
#python37Packages.yamllint # For linting yaml files
#python37Packages.libxml2 # For fixing yaml files
cquery # C/C++ support
clang-tools # C++ fixer
];
fonts = {
fonts = with pkgs; [
font-awesome_5
];
};
}