nix config

started nvim rewrite in fnl

+240 -349
home/profiles/nvim/config/conf/formatting.fnl

This is a binary file and will not be displayed.

+29
home/profiles/nvim/config/conf/init.fnl
··· 1 + (local nvim (require :lib/nvim)) 2 + 3 + (nvim.g :mapleader " ") 4 + 5 + (nvim.opt :runtimepath (.. vim.opt.runtimepath "/home/anish/.config/nvim/,")) 6 + (nvim.opt :tabstop 2) 7 + (nvim.opt :showmatch) 8 + (nvim.opt :shiftwidth 2) 9 + (nvim.opt :autoindent) 10 + (nvim.opt :undofile) 11 + (nvim.opt :signcolumn "auto:4") 12 + (nvim.opt :title) 13 + (nvim.opt :number) 14 + (nvim.opt :nocompatible) 15 + (nvim.opt :relativenumber) 16 + (nvim.opt :showtabline 2) 17 + (nvim.opt :expandtab) 18 + (nvim.opt :autowriteall) 19 + 20 + (nvim.opt :lisp) ; include - in word to move better in snake-case) 21 + (nvim.g :sexp_filetypes "clojure,scheme,lisp,janet,fennel,yuck") ; include the lisps I use 22 + 23 + (nvim.opt :termguicolors) 24 + (nvim.colorscheme "ayu-mirage") 25 + 26 + (require :conf.plugins) 27 + (require :conf.mappings) 28 + (require :conf.lsp) 29 + (require :conf.formatting)
+7
home/profiles/nvim/config/conf/lsp.fnl
··· 1 + 2 + ; Set Diagnostics 3 + ; local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } 4 + ; for type, icon in pairs(signs) do 5 + ; local hl = "DiagnosticSign" .. type 6 + ; vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl}) 7 + ; end
+84
home/profiles/nvim/config/conf/mappingns.fnl
··· 1 + (local nvim (require :lib/nvim)) 2 + (local wk (require :which-key)) 3 + 4 + (local 5 + normal-map-leader 6 + {"t" ["" 7 + "Toggle neo-tree"] 8 + "w" ["<cmd>:w<cr>" 9 + "Write file"] 10 + "q" ["<cmd>:q<cr>" 11 + "Quit"] 12 + "r" [":RainbowParenthesesToggleAll<CR>" 13 + "Toggle Rainbow Parens"] 14 + ; Telescope 15 + "f" {:Name "Files" 16 + :f ["<cmd>Telescope find_files<cr>" 17 + "Find Files (in Telescope)"] 18 + :g ["<cmd>Telescope live_grep<cr>" 19 + "Find Grep (in Telescope)"] 20 + :b ["<cmd>Telescope buffers<cr>" 21 + "Find Buffers"] 22 + :h ["<cmd>Telescope help_tags<cr>" 23 + "Find Help"] 24 + :t ["<cmd>Telescope tags<cr>" 25 + "Find Tags"] 26 + :r ["<cmd>Telescope oldfiles<CR>" 27 + "Recent files"]} 28 + ; Git 29 + "g" {:Name "Git" 30 + "s" [":G<CR>" 31 + "Git Status"] 32 + "f" [":G fetch --all" 33 + "Git Fetch"] 34 + "b" [":GBranches" 35 + "Git Branch"] 36 + "p" [":Git! push" 37 + "Git Push"] 38 + "d" [":GDiff" 39 + "Git Diff"] 40 + "h" ["" 41 + "Commit Hunk under Cursor"]} 42 + ; nmap <leader>gl :diffget //3<CR> 43 + ; nmap <leader>gh :diffget //2<CR> 44 + ; nnoremap <leader>gc :G commit -v -q %:p<CR> 45 + ; Buffers 46 + "b" {:Name "Buffer" 47 + :a ["" 48 + "Buffer Add"] 49 + :q ["" 50 + "Buffer Quit"] 51 + :n ["" 52 + "Buffer Next"] 53 + :N ["<cmd>:tabp<CR>" 54 + "Buffer Previous"] 55 + :p ["<cmd>:tabp<CR>" 56 + "Buffer Previous"]} 57 + ; Search 58 + "s" {:Name "Search" 59 + :b ["<cmd>Telescope current_buffer_fuzzy_find<CR>" 60 + "Search in current buffer"] 61 + :s ["<cmd>Telescope live_grep<CR>" 62 + "Search in project"] 63 + :t ["<cmd>TodoTelescope<CR>" 64 + "Search TODOs in project"] 65 + :c ["<cmd>let @/ = \"\"<CR>:echo 'Search highlight cleared'<CR>" 66 + "Clear search"]} 67 + ; Code 68 + "c" {:Name "Code" 69 + :d [":lua vim.lsp.buf.definition()<CR>" 70 + "Go to Definition"] 71 + :i [":lua require('telescope.builtin').lsp_implementation()<CR>" 72 + "Implementation"] 73 + :s [":lua vim.lsp.buf.signature_help()<CR>" 74 + "Signature Help"] 75 + :r [":Lspsaga rename<CR>" 76 + "Rename Symbol"] 77 + :h [":Lspsaga hover_doc<CR>" 78 + "Hover doc"] 79 + :o [":LSoutlineToggle<CR>" 80 + "Outline"]} 81 + ; Kitaab 82 + "z" {:Name "Kitaab"}}) 83 + 84 + (wk.register normal-map-leader {:prefix "<leader>"})
+3
home/profiles/nvim/config/conf/plugins.fnl
··· 1 + (local nvim (require :lib/nvim)) 2 + 3 + (nvim.g :tidal_target "terminal")
+37
home/profiles/nvim/config/init.lua
··· 1 + -- A function that applies passes the output of string.format to the print 2 + -- function 3 + ---@param string string #template string 4 + local function fprint(string, ...) 5 + print(string.format(string, ...)) 6 + end 7 + 8 + if pcall(require, "hotpot") then 9 + -- Setup hotpot.nvim 10 + require("hotpot").setup({ 11 + provide_require_fennel = true, 12 + -- show fennel compiler results in when editing fennel files 13 + enable_hotpot_diagnostics = true, 14 + compiler = { 15 + -- options passed to fennel.compile for modules, defaults to {} 16 + modules = { 17 + -- not default but recommended, align lua lines with fnl source 18 + -- for more debuggable errors, but less readable lua. 19 + correlate = true 20 + }, 21 + macros = { 22 + -- allow macros to access vim global, needed for nyoom modules 23 + env = "_COMPILER", 24 + compilerEnv = _G, 25 + allowGlobals = true, 26 + }, 27 + } 28 + }) 29 + -- Import neovim configuration 30 + require("conf") 31 + else 32 + print("Unable to require hotpot") 33 + end 34 + 35 + -- vim.cmd[[colorscheme tokyonight]] 36 + -- -- vim.cmd[[colorscheme lumona]] 37 + -- vim.cmd[[packadd cfilter]]
+37
home/profiles/nvim/config/lib/nvim.fnl
··· 1 + (fn autocmd [events opts] 2 + "Create autocommand" 3 + (vim.api.nvim_create_autocmd events opts)) 4 + 5 + (fn clear-autocmds [opts] 6 + "Clear autocommands" 7 + (vim.api.nvim_clear_autocmds opts)) 8 + 9 + (fn augroup [name ?opts] 10 + "Create autocommand group" 11 + (vim.api.nvim_create_augroup name (or opts {}))) 12 + 13 + (fn keymap [mode lhs rhs ?opts] 14 + "Sets a global mapping for the given mode. 15 + Ex: `(keymap [:n :i] ...)`" 16 + (let [string-mode (table.concat mode)] 17 + (vim.api.nvim_set_keymap string-mode lhs rhs (or opts {})))) 18 + 19 + (fn opt [key value] 20 + "Set a vim option" 21 + (tset vim.opt key value)) 22 + 23 + (fn g [key value] 24 + "Set a vim global" 25 + (tset vim.g key value)) 26 + 27 + (fn colorscheme [name] 28 + "Set the current colorscheme" 29 + (vim.cmd (.. "colorscheme " name))) 30 + 31 + {: autocmd 32 + : clear-autocmds 33 + : augroup 34 + : keymap 35 + : opt 36 + : g 37 + : colorscheme}
+43 -349
home/profiles/nvim/default.nix
··· 1 1 { pkgs, ... }: 2 - let 3 - customPlugins = { 4 - vim-zettel = pkgs.vimUtils.buildVimPlugin { 5 - name = "vim-zettel"; 6 - src = pkgs.fetchFromGitHub { 7 - owner = "michal-h21"; 8 - repo = "vim-zettel"; 9 - rev = "929d90eec62e6f693c2702d2b6f76a93f2f1689d"; 10 - sha256 = "1fzKmknfVlEYwqeXgbKITbb2/PJ023iJyMz6vak3qh4="; 11 - }; 12 - }; 13 - lsp-format = pkgs.vimUtils.buildVimPlugin { 14 - name = "lsp-format"; 15 - src = pkgs.fetchFromGitHub { 16 - owner = "lukas-reineke"; 17 - repo = "lsp-format.nvim"; 18 - rev = "84e117b99bb2bc0d0c8122e2b256046f046f8aff"; 19 - sha256 = "rs3NTZwWdsmBGXnrgUeVxUiNjbN/ULxJHifPYJD9mT4="; 20 - }; 21 - }; 22 - my-lspsaga = pkgs.vimUtils.buildVimPlugin { 23 - name = "lspsaga.nvim"; 24 - src = pkgs.fetchFromGitHub { 25 - owner = "glepnir"; 26 - repo = "lspsaga.nvim"; 27 - rev = "b7b4777369b441341b2dcd45c738ea4167c11c9e"; 28 - sha256 = "sciX/fMxzY1YOxXxjj1+ymrdMi451avcFFu+14R+/pk="; 29 - }; 30 - }; 31 - nvim-luapad = pkgs.vimUtils.buildVimPlugin { 32 - name = "nvim-luapad"; 33 - src = pkgs.fetchFromGitHub { 34 - owner = "rafcamlet"; 35 - repo = "nvim-luapad"; 36 - rev = "9815e2659ce8e2ef4b55e401531cf09b6423e0ea"; 37 - sha256 = "gMaS5YFi3+gmUIfkCMEt9vhm8XSgv54Cquv5+WCWeTo="; 38 - }; 39 - }; 40 - leap = pkgs.vimUtils.buildVimPlugin { 41 - name = "leap"; 42 - src = pkgs.fetchFromGitHub { 43 - owner = "ggandor"; 44 - repo = "leap.nvim"; 45 - rev = "1bb1fec369b1e9ae96e6ff1b829ea9272c51f844"; 46 - sha256 = "dH0v1D5q5OlMLA/omTDMb/taKyIgQ5VfVMYXJ609k/k="; 47 - }; 48 - }; 49 - nvim-navic = pkgs.vimUtils.buildVimPlugin { 50 - name = "nvim-navic"; 51 - src = pkgs.fetchFromGitHub { 52 - owner = "SmiteshP"; 53 - repo = "nvim-navic"; 54 - rev = "096b23e73c84a653fd317c0c10261875fa573a6d"; 55 - sha256 = "vX7ZVJxgatIicmijehtaRvyHxk1i4gFfXrbPM/+VoFc="; 56 - }; 57 - }; 58 - my-which-key-nvim = pkgs.vimUtils.buildVimPlugin { 59 - pname = "which-key.nvim"; 60 - version = "2022-05-04"; 61 - src = pkgs.fetchFromGitHub { 62 - owner = "folke"; 63 - repo = "which-key.nvim"; 64 - rev = "bd4411a2ed4dd8bb69c125e339d837028a6eea71"; 65 - sha256 = "0vf685xgdb967wmvffk1pfrvbhg1jkvzp1kb7r0vs90mg8gpv1aj"; 66 - }; 67 - meta.homepage = "https://github.com/folke/which-key.nvim/"; 68 - }; 69 - scnvim = pkgs.vimUtils.buildVimPlugin { 70 - pname = "scnvim"; 71 - version = "2022-06-04"; 72 - src = pkgs.fetchFromGitHub { 73 - owner = "davidgranstrom"; 74 - repo = "scnvim"; 75 - rev = "746cc0db820d02a9c36b8f9ba2eac9725fa73107"; 76 - sha256 = "kvSwS6FNUY2Ue84NhWLLcm0ldLMSp4WqQ7s6TUoX6Cc="; 77 - }; 78 - }; 79 - yuck-vim = pkgs.vimUtils.buildVimPlugin { 80 - pname = "yuck.vim"; 81 - version = "2021-08-09"; 82 - src = pkgs.fetchFromGitHub { 83 - owner = "elkowar"; 84 - repo = "yuck.vim"; 85 - rev = "6dc3da77c53820c32648cf67cbdbdfb6994f4e08"; 86 - sha256 = "lp7qJWkvelVfoLCyI0aAiajTC+0W1BzDhmtta7tnICE="; 87 - }; 88 - }; 89 - nvim-parinfer = pkgs.vimUtils.buildVimPlugin { 90 - pname = "nvim-parinfer"; 91 - version = "v1.2.0"; 92 - src = pkgs.fetchFromGitHub { 93 - owner = "gpanders"; 94 - repo = "nvim-parinfer"; 95 - rev = "82bce5798993f4fe5ced20e74003b492490b4fe8"; 96 - sha256 = "Dlzfp3CZTzq8zQeHByWf3ER6/Em+KNGYNI4Z17ui8Lc="; 97 - }; 98 - }; 99 - my-marks = pkgs.vimUtils.buildVimPlugin { 100 - pname = "marks"; 101 - version = "2022-08-31"; 102 - src = pkgs.fetchFromGitHub { 103 - owner = "chentoast"; 104 - repo = "marks.nvim"; 105 - rev = "b27cbb78e9082229590b396d3ae4fe07f1aeafe0"; 106 - sha256 = "XdbgIWuAHNdTfyKDrKmQVq5oSbBoi56DpwtgOqhScAk="; 107 - }; 108 - }; 109 - my-fterm = pkgs.vimUtils.buildVimPlugin { 110 - pname = "fterm"; 111 - version = "2022-07-22"; 112 - src = pkgs.fetchFromGitHub { 113 - owner = "numToStr"; 114 - repo = "FTerm.nvim"; 115 - rev = "efd10656724a269e21ba68d65e2b058a4e606424"; 116 - sha256 = "rR6KDwj58aYfyaSsoUy75536SdBhk394yspCUl/hzfE="; 117 - }; 118 - }; 119 - my-nvim-peekup = pkgs.vimUtils.buildVimPlugin { 120 - pname = "nvim-peekup"; 121 - version = "0.1.0"; 122 - src = pkgs.fetchFromGitHub { 123 - owner = "gennaro-tedesco"; 124 - repo = "nvim-peekup"; 125 - rev = "73a67c1ee3b5a7ea7b42d85399bf093f428c8ee3"; 126 - sha256 = "czKjJgCpvRSdtR7rNGlJrluDgPIdx94KUyx33op5gdY="; 127 - }; 128 - }; 129 - }; 2 + # let 3 + # customPlugins = { 4 + # vim-zettel = pkgs.vimUtils.buildVimPlugin { 5 + # name = "vim-zettel"; 6 + # src = pkgs.fetchFromGitHub { 7 + # owner = "michal-h21"; 8 + # repo = "vim-zettel"; 9 + # rev = "929d90eec62e6f693c2702d2b6f76a93f2f1689d"; 10 + # sha256 = "1fzKmknfVlEYwqeXgbKITbb2/PJ023iJyMz6vak3qh4="; 11 + # }; 12 + # }; 13 + # }; 130 14 131 - my-python-packages = python-packages: with python-packages; [ 132 - tasklib 133 - pynvim 134 - six 135 - pylsp-mypy 136 - #pyls-isort 137 - #pyls-black 138 - black 139 - isort 140 - # other python packages you want 141 - ]; 142 - python-with-my-packages = pkgs.python3.withPackages my-python-packages; 143 - in 15 + # Thank god I don't use python anymore 16 + # my-python-packages = python-packages: with python-packages; [ 17 + # # other python packages you want 18 + # ]; 19 + # python-with-my-packages = pkgs.python3.withPackages my-python-packages; 20 + # in 21 + 144 22 { 145 23 home.sessionVariables.EDITOR = "nvim"; 146 24 home.shellAliases = { 147 25 k = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex; cd $OLDPWD"; 148 26 # kitaab zettel 149 27 kz = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex -c :ZettelNew; cd $OLDPWD"; 150 - # kitaab recents 151 - kr = "cd /home/anish/kitaab/vimwiki; eza --sort=modified --reverse | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./{}';cd $OLDPWD"; 152 28 # kitaab get by tagged 153 29 kt = "cd /home/anish/kitaab/vimwiki; eza *_index.wiki | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./{}';cd $OLDPWD"; 154 - # List files that have no links in them 155 - ku = "cd /home/anish/kitaab/;vim ./vimwiki/$(python3 poonam/main.py report --titles=false | tail -n +4 | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./vimwiki/{}');cd $OLDPWD"; 156 30 }; 157 31 # Add %update to the highlight clause for vimwiki files 158 32 home.file.".config/nvim/after/syntax/vimwiki.vim".text = '' ··· 167 41 enable = true; 168 42 169 43 extraConfig = '' 170 - " so our custom files still get included 171 - set runtimepath+=/home/anish/.config/nvim/ 172 - set tabstop=2 173 - set showmatch 174 - set shiftwidth=2 175 - set noexpandtab 176 - set autoindent 177 - set undofile 178 - set signcolumn=auto:4 179 - set title 180 - 181 - " set foldmethod=indent " fold based on indent 182 - set number 183 - set nocompatible 184 - set relativenumber 185 - set showtabline=2 186 - set noexpandtab 187 - set autowriteall 188 - set list lcs=tab:\|\ 189 44 filetype plugin on 190 45 191 - " include - in word to move across easier in lisp / clojure 192 - set iskeyword+=- 193 - 194 - set termguicolors 195 - colorscheme ayu-mirage 196 - 197 46 " set spell 198 47 set spelllang=en_gb 199 48 set ignorecase ··· 215 64 " highlight row 216 65 set cursorline 217 66 218 - let mapleader = "\<Space>" 219 - let maplocalleader = "," 220 - 221 - " window 222 - nmap <leader>wh :topleft vnew<CR> 223 - nmap <leader>wl :botright vnew<CR> 224 - nmap <leader>wk :topleft new<CR> 225 - nmap <leader>wj :botright new<CR> 226 - 227 - " tabs 228 - nmap <leader>rt :retab!<CR> 229 - vmap <leader>rt :retab!<CR> 230 - 231 - " moving splits with vim movements. 232 - :tnoremap <A-h> <C-\><C-N><C-w>h 233 - :tnoremap <A-j> <C-\><C-N><C-w>j 234 - :tnoremap <A-k> <C-\><C-N><C-w>k 235 - :tnoremap <A-l> <C-\><C-N><C-w>l 236 - :inoremap <A-h> <C-\><C-N><C-w>h 237 - :inoremap <A-j> <C-\><C-N><C-w>j 238 - :inoremap <A-k> <C-\><C-N><C-w>k 239 - :inoremap <A-l> <C-\><C-N><C-w>l 240 - :nnoremap <A-h> <leader>h 241 - :nnoremap <A-j> <leader>j 242 - :nnoremap <A-k> <leader>k 243 - :nnoremap <A-l> <leader>l 244 - :nnoremap <F5> "=strftime("%Y-%m-%d %H:%M")<CR> 245 - :inoremap <F5> <C-R>=strftime("%Y-%m-%d %H:%M")<CR> 246 - :inoremap <F4> <C-R>=strftime("%H:%M")<CR> 247 - 248 - " tidal nvim terminal 249 - let g:tidal_target = "terminal" 250 - 251 - " latex 252 - " let g:tex_flavor='latex' 253 - " let g:vimtex_view_method='zathura' 254 - " let g:vimtex_quickfix_mode=0 255 - " set conceallevel=1 256 - " let g:tex_conceal='abdmg' 257 - 258 - " telescope 259 - " Find files using Telescope command-line sugar. 260 - nnoremap <leader>ff <cmd>Telescope find_files<cr> 261 - nnoremap <leader>fg <cmd>Telescope live_grep<cr> 262 - nnoremap <leader>fb <cmd>Telescope buffers<cr> 263 - nnoremap <leader>fh <cmd>Telescope help_tags<cr> 264 - nnoremap <leader>ft <cmd>Telescope tags<cr> 265 - 266 - " exit normal mode in terminal 267 - :tnoremap <C-n> <C-\><C-n> 268 - 269 - " Sexp in Conjure (since it's fennel) 270 - let g:sexp_filetypes = "clojure,scheme,lisp,janet,fennel,yuck" 271 67 let g:conjure#filetype#fennel = "conjure.client.fennel.stdio" 272 68 " we only use fennel with love; no we don't... 273 69 let g:conjure#client#fennel#stdio#command = "fennel" ··· 278 74 autocmd BufReadPost,BufNewFile c,clj,cljs RainbowParenthesesToggleAll 279 75 280 76 " general commands 281 - map <leader>t :NERDTreeToggle<CR> 282 - map <leader>s :w<CR> 283 - map <leader>q :q<CR> 284 - map <leader>r :RainbowParenthesesToggleAll<CR> 285 77 nnoremap <BS> :noh<CR> 286 78 map Q <Nop> 287 79 nnoremap Y y$ ··· 319 111 nnoremap <silent> gj :BufferPick<CR> 320 112 nnoremap <silent> gq :BufferClose<CR> 321 113 322 - " git 323 - nnoremap <leader>ga :G fetch --all 324 - nmap <leader>gs :G<CR> 325 - nmap <leader>gl :diffget //3<CR> 326 - nmap <leader>gh :diffget //2<CR> 327 - nmap <leader>gb :GBranches<CR> 328 - nnoremap <leader>gp :Git! push<CR> 329 - nnoremap <leader>gd :Gdiff<CR> 330 - nnoremap <leader>gc :G commit -v -q %:p<CR> 331 - 332 114 " kitaab 333 115 map <leader>cz :VimwikiIndex<CR>:ZettelNew 334 116 map <leader>zs :ZettelSearch<CR> ··· 338 120 map <leader>wt :VimwikiMakeTomorrowDiaryNote 339 121 map <leader>wd :VimwikiMakeYesterdayDiaryNote 340 122 map <leader>zm :ZenMode<CR>:setlocal nospell<CR> 341 - let g:vimwiki_list = [{ 'path': '~/kitaab/vimwiki', 'auto_tags': 1, 'auto_diary_index': 1, 'auto_generate_links': 1 }] 123 + let g:vimwiki_list = [{ 'path': '~/kitaab/vimwiki', 'auto_tags': 1, 'auto_diary_index': 1, 'auto_generate_links': 0, 'nested_syntaxes': {'python': 'python', 'c++': 'cpp', 'nix': 'nix', 'bash': 'sh'} }] 342 124 let g:sync_taskwarrior = 0 343 125 let g:zettel_format = "%y%m%d-%H%M" 344 - let g:vimwiki_list = [{'path': '~/kitaab/vimwiki', 'nested_syntaxes': {'python': 'python', 'c++': 'cpp', 'nix': 'nix', 'bash': 'sh'}}] 345 126 346 - let g:mapleader="\<Space>" 347 - 348 - " fzf 349 - " not sure we even use this 350 - let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } } 351 - 352 - " lsp commands 353 - nnoremap <leader>vgd :lua vim.lsp.buf.definition()<CR> 354 - nnoremap <leader>vi :lua require('telescope.builtin').lsp_implementation()<CR> 355 - nnoremap <leader>vsh :lua vim.lsp.buf.signature_help()<CR> 356 - nnoremap <leader>vrr :lua require('telescope.builtin').lsp_references()<CR> 357 - " nnoremap <leader>vrn :lua vim.lsp.buf.rename()<CR> 358 - " nnoremap <leader>vh :lua vim.lsp.buf.hover()<CR> 359 - " nnoremap <leader>vca :lua vim.lsp.buf.code_action()<CR> 360 - " nnoremap <leader>vsd :lua vim.lsp.util.show_line_diagnostics()<CR> 361 - " nnoremap <leader>vn :lua vim.lsp.diagnostic.goto_next()<CR> 362 - " nnoremap <leader>va :lua require('telescope.builtin').lsp_code_actions(require('telescope.themes').get_cursor())<cr> 363 - " lspsaga stuff doesn't work 364 - nnoremap <leader>vd :Lspsaga peek_definition<CR> 365 - nnoremap <leader>vrn :Lspsaga rename<CR><CR> 366 - nnoremap <leader>vh :Lspsaga hover_doc<CR> 367 - nnoremap <leader>vca :Lspsaga code_action<CR> 368 - nnoremap <leader>vsd :Lspsaga show_line_diagnostics<CR> 369 - nnoremap <leader>vs :Dasht<Space> 370 - nnoremap <leader>vn :Lspsaga diagnostic_jump_prev<CR> 371 - nnoremap <leader>vo :LSoutlineToggle<CR> 372 - 373 - " dashboard 374 - let g:dashboard_custom_header = [ 375 - \' ', 376 - \' ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀', 377 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⣿⠁⠀⠀⠀⠀⠀⠀⠀⢠⣿⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 378 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣧⠀⠀⠀⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 379 - \'⠀⠀⠀⠀⠀⠀⠀⢴⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⡀⠀⠀⠀⠀⠀⠀⠀⠘⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡆⠀⠀⠀⠀⠀⠀ ', 380 - \'⠀⠀⠀⠀⠀⠀⠀⠈⢿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀ ', 381 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 382 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 383 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 384 - \'⠀⠀⠀⠀⠀⠀⠀⢀⣀⡤⠤⠤⠖⣒⠒⡖⠲⡦⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⣤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 385 - \'⠀⠀⠀⠀⠀⣠⢶⠉⠩⢀⣠⡤⠤⠯⠬⠥⣼⣅⡃⠸⠉⠛⡷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⢶⢻⢻⢹⣃⣨⣧⣤⣴⣹⣉⠛⢶⣄⠀⠀⠀⠀⠀⠀ ', 386 - \'⠀⠀⠀⣰⠞⠁⢈⡤⠚⠉⠀⠀⠘⣆⡀⠀⡀⠀⠉⠙⠲⢼⣰⢡⣟⢶⣄⠀⠀⠀⠀⠀⠀⠀⢀⣠⠶⡟⣇⣺⠾⠋⠉⠁⠀⠀⠀⠀⠀⠉⠙⠳⢿⣷⣄⠀⠀⠀⠀ ', 387 - \'⠀⢀⡼⡁⢸⣰⠏⠀⠀⠀⠀⠀⠀⠘⡞⠀⠀⠀⠀⠀⠀⠀⠉⠻⣿⡞⡼⣷⣄⠀⠀⠀⣠⣾⠛⠄⣷⠟⠋⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⢠⠀⠈⠻⣧⠀⠀⠀ ', 388 - \'⠀⡼⠁⢀⡼⠁⠀⠀⠀⣀⠤⠖⠛⠛⠛⠛⠓⠲⠤⣄⡀⠀⠀⠀⠀⠻⢷⣿⣿⣷⣤⣾⠹⢌⡷⠛⠁⠀⠀⠀⠀⣀⡤⠔⠛⠉⠉⠈⠉⠛⠲⣄⣇⠀⠀⠙⣷⠀⠀ ', 389 - \'⢰⠷⣀⡜⠁⠀⠀⢀⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠲⣤⡀⢀⡤⠚⢻⣿⣿⢣⢈⡴⠋⠀⠀⠀⠀⣠⠔⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⡇⠀⠀⠘⣇⠀ ', 390 - \'⣾⣇⣹⢃⡀⠀⢀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣷⣾⣞⡇⢹⡼⠋⠀⠀⠀⢠⡴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠀⠀⢹⠀ ', 391 - \'⢹⢀⣿⠘⡇⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⢟⢱⢹⡾⠋⠀⠀⠀⣠⣾⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⢸⡀ ', 392 - \'⢸⣅⣯⠀⣆⠀⢸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡴⢻⣹⢸⡼⠋⠀⠀⠀⢀⡼⢻⣻⣿⡽⡹⠳⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡾⠀⠀⠀⢸⠀ ', 393 - \'⠈⣿⣿⡀⠘⠀⠈⣿⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⢾⢻⢿⣿⠟⠋⠀⠀⠀⠀⣠⣟⠘⣿⡏⠋⠻⢥⣃⡎⣽⠻⢦⣄⣀⠀⠀⠀⠀⠀⣀⡴⣾⠃⠀⠀⠀⡼⠀ ', 394 - \'⠀⠙⣎⣧⠀⠀⠀⠈⢻⣍⠓⠲⣶⣶⣶⣶⡖⢋⣿⣏⡧⠞⠋⠁⠀⠀⠀⢀⣤⠞⠁⠈⠻⣷⣧⠀⡀⠀⠉⠓⢧⣇⢰⢈⠙⢻⠒⡖⢲⠚⣍⡴⠃⠀⠀⠀⣴⠃⠀ ', 395 - \'⠀⠀⠙⢾⣷⡀⠀⠀⠀⠈⠙⠓⠾⠿⠾⠿⠿⠚⠉⠁⠀⠀⠀⠀⠀⣠⡴⠛⠁⠀⠀⠀⠀⠀⠙⠷⣝⠣⠀⠀⠀⠈⠉⠒⠶⠾⠤⠧⠼⠚⠉⠀⠀⠀⢀⡴⠃⠀⠀ ', 396 - \'⠀⠀⠀⠀⠙⠿⣦⣀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⢀⣠⡴⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠶⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⢀⡴⠟⠁⠀⠀⠀ ', 397 - \'⠀⠀⠀⠀⠀⠀⠀⠈⠛⠒⠤⠤⣄⣀⣀⣀⣠⠤⠤⠶⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠒⠦⠤⢤⣀⣀⣠⡤⠤⠟⠋⠀⠀⠀⠀⠀⠀ ', 398 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 399 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 400 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 401 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀ ', 402 - \'⠀⠀⠀⠀⠀⠀⢀⣴⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣦⣀⠀⠀⠀⠀⠀⠀ ', 403 - \'⠀⠀⠀⠀⠀⠘⠻⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠏⠀⠀⠀⠀⠀⠀⠀⠀⠰⡆⠀⠀⠀⠀⠀⠀⠀⠀⠹⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠽⠟⠁⠀⠀⠀⠀⠀ ', 404 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 405 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 406 - \'⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⠓⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ', 407 - \] 408 - let g:dashboard_default_executive = 'telescope' 409 - nmap <Leader>ss :<C-u>SessionSave<CR> 410 - nmap <Leader>sl :<C-u>SessionLoad<CR> 411 - " nnoremap <silent> <Leader>fh :DashboardFindHistory<CR> 412 - " nnoremap <silent> <Leader>fm :DashboardJumpMark<CR> 413 - " nnoremap <silent> <Leader>cn :DashboardNewFile<CR> 414 - autocmd FileType dashboard set showtabline=0 | autocmd WinLeave <buffer> set showtabline=2 415 - let g:dashboard_custom_footer = ["Run wild"] 416 - let g:dashboard_custom_section={ 417 - \ 'create_zettel': { 418 - \ 'description': [' Create Zettel SPC c z'], 419 - \ 'command': ':VimwikiIndex' }, 420 - \ 'load_session': { 421 - \ 'description': [' Load Session SPC s l'], 422 - \ 'command': 'SessionLoad' } 423 - \ } 424 127 425 128 let g:scnvim_snippet_format = "luasnip" 426 129 427 130 428 131 " lua config 429 132 lua <<EOF 430 - local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } 431 - for type, icon in pairs(signs) do 432 - local hl = "DiagnosticSign" .. type 433 - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) 434 - end 435 133 vim.g.diagnostics_active = true 436 134 function _G.toggle_diagnostics() 437 135 if vim.g.diagnostics_active then ··· 728 426 local map = vim.api.nvim_set_keymap 729 427 local opts = { noremap = true, silent = true } 730 428 map('n', '<TAB>', '<CMD>lua require("FTerm").toggle()<CR>', opts) 731 - map('t', '<A-i>', '<C-\\><C-n><CMD>lua require("FTerm").toggle()<CR>', opts) 429 + map('t', '<TAB>', '<C-\\><C-n><CMD>lua require("FTerm").toggle()<CR>', opts) 732 430 733 431 -- Custom functions 734 432 function update_date() ··· 853 551 EOF 854 552 855 553 ''; 856 - extraPackages = with pkgs // customPlugins; [ 554 + extraPackages = with pkgs; [ 857 555 # used to compile tree-sitter grammar 858 - python-with-my-packages 556 + # python-with-my-packages 859 557 nodejs 860 558 clojure-lsp 861 559 clojure 862 - nil 863 - terraform-lsp 864 - rust-analyzer 865 560 clj-kondo 866 - zls 561 + terraform-lsp 867 562 gopls 868 563 gcc 869 - nodePackages_latest.pyright 870 564 shellcheck 871 565 proselint 872 566 statix ··· 874 568 nodePackages.typescript-language-server 875 569 luajitPackages.lua-lsp 876 570 fennel-ls 571 + starpls-bin 877 572 ]; 878 573 879 - plugins = with pkgs.vimPlugins // customPlugins; [ 574 + plugins = with pkgs.vimPlugins; [ 880 575 # ui 881 576 lualine-nvim 882 577 fzf-vim 883 - nerdtree 884 - neovim-ayu 885 - rainbow_parentheses-vim 886 - vim-surround 887 578 vim-devicons 888 579 nvim-web-devicons 889 - undotree 890 580 telescope-nvim 891 581 plenary-nvim 892 582 nvim-navic 893 - (nvim-treesitter.withPlugins (p: [ p.nix p.clojure p.python p.fennel p.lua p.html p.css p.regex p.supercollider p.beancount p.markdown p.glsl p.yaml p.toml p.dockerfile p.json ])) 894 - nvim-treesitter-context 895 - my-fterm 583 + fterm 896 584 barbar-nvim 585 + 586 + # TODO 587 + # neotree 588 + neovim-ayu 589 + rainbow_parentheses-vim 590 + vim-surround 591 + undotree 592 + 593 + (nvim-treesitter.withPlugins (p: [ p.nix p.clojure p.fennel p.lua p.html p.css p.regex p.supercollider p.beancount p.markdown p.glsl p.yaml p.toml p.dockerfile p.json ])) 594 + nvim-treesitter-context 897 595 auto-session 898 - my-marks 899 596 which-key-nvim 900 - nvim-peekup 901 597 zen-mode-nvim 902 598 twilight-nvim 903 - my-lspsaga 599 + 600 + # TODO remove? 904 601 vim-dasht 905 602 906 603 # language 907 604 vim-nix 908 - vim-elixir 909 605 emmet-vim 910 606 csv-vim 911 607 direnv-vim 912 - zig-vim 913 608 conjure 914 609 915 610 # kitaab stuff 916 611 vimwiki 917 - taskwiki 918 612 vim-zettel 919 613 hologram-nvim 920 614 ··· 926 620 cmp-nvim-lsp 927 621 cmp-treesitter 928 622 nvim-lsp-ts-utils 623 + lspsaga 929 624 cmp-conjure 930 625 cmp-buffer 931 626 cmp-path ··· 956 651 vim-beancount 957 652 # vimtex 958 653 # custom 959 - yuck-vim 960 654 nvim-parinfer 961 655 # vim-processing 962 656 ]; 963 - withPython3 = true; 964 - extraPython3Packages = pkgs: with pkgs; [ tasklib six ]; 965 - vimAlias = true; 657 + # withPython3 = true; 658 + # extraPython3Packages = pkgs: with pkgs; [ tasklib six ]; 659 + # vimAlias = true; 966 660 }; 967 661 } 968 662