From 58d5677045e255c92dc8aa7d7cd2b0709f30ab23 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 10 Oct 2021 18:34:18 +1000 Subject: [PATCH] added nvim --- profiles/nvim/default.nix | 4 +++ profiles/nvim/nvim.nix | 62 +++++++++++++++++++++++++++++++++++---- 2 files changed, 61 insertions(+), 5 deletions(-) diff --git a/profiles/nvim/default.nix b/profiles/nvim/default.nix index e69de29b..443a0669 100644 --- a/profiles/nvim/default.nix +++ b/profiles/nvim/default.nix @@ -0,0 +1,4 @@ +{ self, config, lib, pkgs, ... }: +{ + imports = [ ./nvim.nix ]; +} diff --git a/profiles/nvim/nvim.nix b/profiles/nvim/nvim.nix index 081e0a5c..6aef29a1 100644 --- a/profiles/nvim/nvim.nix +++ b/profiles/nvim/nvim.nix @@ -1,17 +1,63 @@ { pkgs, ... }: - #nvim +let + customPlugins = { + vim-zettel = pkgs.vimUtils.buildVimPlugin { + name = "vim-zettel"; + src = pkgs.fetchFromGitHub { + owner = "michal-h21"; + repo = "vim-zettel"; + rev = "929d90eec62e6f693c2702d2b6f76a93f2f1689d"; + sha256 = "1fzKmknfVlEYwqeXgbKITbb2/PJ023iJyMz6vak3qh4="; + }; + }; + vimwiki-dev = pkgs.vimUtils.buildVimPlugin { + name = "vimwiki-dev"; + src = pkgs.fetchFromGitHub { + owner = "vimwiki"; + repo = "vimwiki"; + rev = "d035a3428c6343b4f218e51340ddf690ad8c57ee"; + sha256 = "000000000000000000000000PJ023iJyMz6vak3qh4="; + }; + }; + taskwiki-t = pkgs.vimUtils.buildVimPluginFrom2Nix { + pname = "taskwiki"; + version = "2021-09-22"; + src = pkgs.fetchFromGitHub { + owner = "tools-life"; + repo = "taskwiki"; + rev = "c4392c36c01cfffcb06f460d722990b98bc53bdb"; + sha256 = "QrxFqu/Y6FykXGqIlK52+nDwmnBhubURl6v2Zc/KwPw="; + }; + meta.homepage = "https://github.com/tools-life/taskwiki/"; + }; + }; + my-python-packages = python-packages: with python-packages; [ + tasklib + pynvim + six + # other python packages you want + ]; + python-with-my-packages = pkgs.python3.withPackages my-python-packages; +in { environment.variables.EDITOR = "nvim"; environment.shellAliases = { k = "vim -c :VimwikiIndex"; kz = "vim -c :VimwikiIndex -c :ZettelNew"; }; - environment.systemPackages = with pkgs; [ + environment.systemPackages = with pkgs // customPlugins; [ nodejs + python-with-my-packages + #python3Packages.pynvim + #python3Packages.six + #python3Packages.tasklib + #python3 ( neovim.override { vimAlias = true; + withPython3 = true; + extraPython3Packages = pkgs: with pkgs; [ tasklib six ]; configure = { packages.myPlugins = with pkgs.vimPlugins; { start = [ @@ -30,21 +76,24 @@ coc-python coc-pairs coc-emmet - emmet-vim LanguageClient-neovim ayu-vim rainbow_parentheses-vim vim-surround vim-fugitive - #iron-nvim #nvim-colorizer vim-devicons # testing #vim-processing #vim-tidal taskwiki - #vim-zettel + vim-zettel #vimwiki-sync + telescope-nvim + # Clojure stuff + conjure + vim-sexp + vim-sexp-mappings-for-regular-people ]; }; customRC = '' @@ -105,6 +154,9 @@ let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 + " Sexp in Conjure (since it's fennel) + " let g:sexp_filetypes = [ "fennel" ] + let g:rainbow_active = 0 autocmd BufReadPost,BufNewFile c,py,nix RainbowParenthesesToggleAll