summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/editor/neovim/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/editor/neovim/default.nix')
-rw-r--r--makefu/2configs/editor/neovim/default.nix67
1 files changed, 67 insertions, 0 deletions
diff --git a/makefu/2configs/editor/neovim/default.nix b/makefu/2configs/editor/neovim/default.nix
new file mode 100644
index 000000000..c288212e9
--- /dev/null
+++ b/makefu/2configs/editor/neovim/default.nix
@@ -0,0 +1,67 @@
+{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
+ };
+ };
+ };
+ };
+}
+