summaryrefslogtreecommitdiffstats
path: root/mb/2configs/nvim.nix
diff options
context:
space:
mode:
Diffstat (limited to 'mb/2configs/nvim.nix')
-rw-r--r--mb/2configs/nvim.nix70
1 files changed, 70 insertions, 0 deletions
diff --git a/mb/2configs/nvim.nix b/mb/2configs/nvim.nix
new file mode 100644
index 0000000..a8e4173
--- /dev/null
+++ b/mb/2configs/nvim.nix
@@ -0,0 +1,70 @@
+{ 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
+ ];
+ };
+
+}
+