71 lines
2.1 KiB
Nix
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
|
|
];
|
|
};
|
|
|
|
}
|
|
|