This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

nixos: remove legacy vim

-350
-1
nixos/2configs/default.nix
··· 4 4 ./binary-cache/client.nix 5 5 ./gc.nix 6 6 ./mc.nix 7 - ./vim.nix 8 7 ./zsh.nix 9 8 ./htop.nix 10 9 ./wiregrill.nix
-349
nixos/2configs/vim.nix
··· 1 - { config, lib, pkgs, ... }: 2 - 3 - let 4 - out = { 5 - environment.systemPackages = [ 6 - (lib.hiPrio vim) 7 - ]; 8 - 9 - environment.etc.vimrc.source = vimrc; 10 - environment.etc.vim.source = vim; 11 - 12 - environment.variables.EDITOR = lib.mkForce "vim"; 13 - environment.variables.VIMINIT = ":so /etc/vimrc"; 14 - }; 15 - 16 - vimrc = pkgs.writeText "vimrc" '' 17 - set nocompatible 18 - 19 - set autoindent 20 - set backspace=indent,eol,start 21 - set backup 22 - set backupdir=${dirs.backupdir}/ 23 - set directory=${dirs.swapdir}// 24 - set list listchars=tab:⇥\ ,extends:❯,precedes:❮,nbsp:␣,trail:· showbreak=¬ 25 - set hlsearch 26 - set incsearch 27 - set ttymouse=sgr 28 - set mouse=a 29 - set ruler 30 - set pastetoggle=<INS> 31 - set runtimepath=${extra-runtimepath},$VIMRUNTIME 32 - set shortmess+=I 33 - set showcmd 34 - set showmatch 35 - set ttimeoutlen=0 36 - set undodir=${dirs.undodir} 37 - set undofile 38 - set undolevels=1000000 39 - set undoreload=1000000 40 - set viminfo='20,<1000,s100,h,n${files.viminfo} 41 - set visualbell 42 - set wildignore+=*.o,*.class,*.hi,*.dyn_hi,*.dyn_o 43 - set wildmenu 44 - set wildmode=longest,full 45 - 46 - " enable better-whitespace 47 - let g:better_whitespace_enabled=1 48 - 49 - set title 50 - set titleold= 51 - set titlestring=(vim)\ %t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%)\ -\ %{v:servername} 52 - 53 - set et ts=2 sts=2 sw=2 54 - 55 - filetype plugin indent on 56 - 57 - set t_Co=256 58 - colorscheme dim 59 - syntax on 60 - 61 - au Syntax * syn match Garbage containedin=ALL /\s\+$/ 62 - \ | syn match TabStop containedin=ALL /\t\+/ 63 - \ | syn keyword Todo containedin=ALL TODO 64 - \ | syn match NBSP '\%xa0' 65 - \ | syn match NarrowNBSP '\%u202F' 66 - 67 - au BufRead,BufNewFile *.hs so ${hs.vim} 68 - 69 - au BufRead,BufNewFile *.nix so ${nix.vim} 70 - 71 - au BufRead,BufNewFile /dev/shm/* set nobackup nowritebackup noswapfile 72 - 73 - nnoremap <F5> :call LanguageClient_contextMenu()<CR> 74 - set hidden 75 - let g:LanguageClient_serverCommands = { 76 - \ 'python': ['pyls'], 77 - \ 'go': ['~/go/bin/go-langserver'] 78 - \ } 79 - 80 - let g:LanguageClient_diagnosticsDisplay = { 81 - \ 1: { "signText": "E" }, 82 - \ 2: { "signText": "W" } 83 - \ } 84 - 85 - nmap <esc>q :buffer 86 - nmap <M-q> :buffer 87 - 88 - cnoremap <C-A> <Home> 89 - 90 - noremap <C-c> :q<cr> 91 - vnoremap < <gv 92 - vnoremap > >gv 93 - 94 - nnoremap <esc>[5^ :tabp<cr> 95 - nnoremap <esc>[6^ :tabn<cr> 96 - nnoremap <esc>[5@ :tabm -1<cr> 97 - nnoremap <esc>[6@ :tabm +1<cr> 98 - 99 - nnoremap <f1> :tabp<cr> 100 - nnoremap <f2> :tabn<cr> 101 - inoremap <f1> <esc>:tabp<cr> 102 - inoremap <f2> <esc>:tabn<cr> 103 - 104 - " <C-{Up,Down,Right,Left> 105 - noremap <esc>Oa <nop> | noremap! <esc>Oa <nop> 106 - noremap <esc>Ob <nop> | noremap! <esc>Ob <nop> 107 - noremap <esc>Oc <nop> | noremap! <esc>Oc <nop> 108 - noremap <esc>Od <nop> | noremap! <esc>Od <nop> 109 - " <[C]S-{Up,Down,Right,Left> 110 - noremap <esc>[a <nop> | noremap! <esc>[a <nop> 111 - noremap <esc>[b <nop> | noremap! <esc>[b <nop> 112 - noremap <esc>[c <nop> | noremap! <esc>[c <nop> 113 - noremap <esc>[d <nop> | noremap! <esc>[d <nop> 114 - 115 - " search with ack 116 - let g:ackprg = 'ag --vimgrep' 117 - cnoreabbrev Ack Ack! 118 - 119 - " copy/paste from/to xclipboard 120 - set clipboard=unnamedplus 121 - 122 - " use fzf to switch files 123 - nnoremap <C-p> :FZF<CR> 124 - nnoremap <C-l> :Rg<CR> 125 - let g:fzf_layout = { 'down': '~15%' } 126 - ''; 127 - 128 - extra-runtimepath = lib.concatMapStringsSep "," (pkg: "${pkg.outPath}") [ 129 - pkgs.vimPlugins.copilot-vim 130 - pkgs.vimPlugins.undotree 131 - pkgs.vimPlugins.fzf-vim 132 - pkgs.vimPlugins.fzfWrapper 133 - pkgs.vimPlugins.vim-better-whitespace 134 - (pkgs.vimUtils.buildVimPlugin { 135 - name = "file-line-1.0"; 136 - src = pkgs.fetchFromGitHub { 137 - owner = "bogado"; 138 - repo = "file-line"; 139 - rev = "1.0"; 140 - sha256 = "0z47zq9rqh06ny0q8lpcdsraf3lyzn9xvb59nywnarf3nxrk6hx0"; 141 - }; 142 - }) 143 - (pkgs.vimUtils.buildVimPlugin { 144 - name = "vim-dim-1.1.0"; 145 - src = pkgs.fetchFromGitHub { 146 - owner = "jeffkreeftmeijer"; 147 - repo = "vim-dim"; 148 - rev = "1.1.0"; 149 - sha256 = "sha256-lyTZUgqUEEJRrzGo1FD8/t8KBioPrtB3MmGvPeEVI/g="; 150 - }; 151 - }) 152 - ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let 153 - name = "showsyntax"; 154 - in { 155 - name = "vim-plugin-${name}-1.0.0"; 156 - destination = "/plugin/${name}.vim"; 157 - text = /* vim */ '' 158 - if exists('g:loaded_showsyntax') 159 - finish 160 - endif 161 - let g:loaded_showsyntax = 0 162 - 163 - fu! ShowSyntax() 164 - let id = synID(line("."), col("."), 1) 165 - let name = synIDattr(id, "name") 166 - let transName = synIDattr(synIDtrans(id),"name") 167 - if name != transName 168 - let name .= " (" . transName . ")" 169 - endif 170 - echo "Syntax: " . name 171 - endfu 172 - 173 - command! -n=0 -bar ShowSyntax :call ShowSyntax() 174 - ''; 175 - }))) 176 - ]; 177 - 178 - dirs = { 179 - backupdir = "$HOME/.cache/vim/backup"; 180 - swapdir = "$HOME/.cache/vim/swap"; 181 - undodir = "$HOME/.cache/vim/undo"; 182 - }; 183 - files = { 184 - viminfo = "$HOME/.cache/vim/info"; 185 - }; 186 - 187 - mkdirs = let 188 - dirOf = s: let out = lib.concatStringsSep "/" (lib.init (lib.splitString "/" s)); 189 - in assert out != ""; out; 190 - alldirs = lib.attrValues dirs ++ map dirOf (lib.attrValues files); 191 - in lib.unique (lib.sort lib.lessThan alldirs); 192 - 193 - vim = pkgs.symlinkJoin { 194 - name = "vim"; 195 - paths = [ 196 - (pkgs.writers.writeDashBin "vim" '' 197 - set -efu 198 - export PATH=$PATH:${lib.makeBinPath [ 199 - pkgs.nodejs 200 - ]} 201 - (umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString mkdirs}) 202 - exec ${pkgs.vim}/bin/vim "$@" 203 - '') 204 - pkgs.vim 205 - ]; 206 - }; 207 - 208 - hs.vim = pkgs.writeText "hs.vim" '' 209 - syn region String start=+\[[[:alnum:]]*|+ end=+|]+ 210 - 211 - hi link ConId Identifier 212 - hi link VarId Identifier 213 - hi link hsDelimiter Delimiter 214 - ''; 215 - 216 - nix.vim = pkgs.writeText "nix.vim" '' 217 - setf nix 218 - 219 - " Ref <nix/src/libexpr/lexer.l> 220 - syn match NixID /[a-zA-Z\_][a-zA-Z0-9\_\'\-]*/ 221 - syn match NixINT /\<[0-9]\+\>/ 222 - syn match NixPATH /[a-zA-Z0-9\.\_\-\+]*\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ 223 - syn match NixHPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ 224 - syn match NixSPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/ 225 - syn match NixURI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ 226 - syn region NixSTRING 227 - \ matchgroup=NixSTRING 228 - \ start='"' 229 - \ skip='\\"' 230 - \ end='"' 231 - syn region NixIND_STRING 232 - \ matchgroup=NixIND_STRING 233 - \ start="'''" 234 - \ skip="'''\('\|[$]\|\\[nrt]\)" 235 - \ end="'''" 236 - 237 - syn match NixOther /[():/;=.,?\[\]]/ 238 - 239 - syn match NixCommentMatch /\(^\|\s\)#.*/ 240 - syn region NixCommentRegion start="/\*" end="\*/" 241 - 242 - hi link NixCode Statement 243 - hi link NixData Constant 244 - hi link NixComment Comment 245 - 246 - hi link NixCommentMatch NixComment 247 - hi link NixCommentRegion NixComment 248 - hi link NixID NixCode 249 - hi link NixINT NixData 250 - hi link NixPATH NixData 251 - hi link NixHPATH NixData 252 - hi link NixSPATH NixData 253 - hi link NixURI NixData 254 - hi link NixSTRING NixData 255 - hi link NixIND_STRING NixData 256 - 257 - hi link NixEnter NixCode 258 - hi link NixOther NixCode 259 - hi link NixQuote NixData 260 - 261 - syn cluster nix_has_dollar_curly contains=@nix_ind_strings,@nix_strings 262 - syn cluster nix_ind_strings contains=NixIND_STRING 263 - syn cluster nix_strings contains=NixSTRING 264 - 265 - ${lib.concatStringsSep "\n" (lib.mapAttrsToList (lang: { extraStart ? null }: let 266 - startAlts = lib.filter lib.isString [ 267 - ''/\* ${lang} \*/'' 268 - extraStart 269 - ]; 270 - sigil = ''\(${lib.concatStringsSep ''\|'' startAlts}\)[ \t\r\n]*''; 271 - in /* vim */ '' 272 - syn include @nix_${lang}_syntax syntax/${lang}.vim 273 - unlet b:current_syntax 274 - 275 - syn match nix_${lang}_sigil 276 - \ X${lib.replaceStrings ["X"] ["\\X"] sigil}\ze\('''\|"\)X 277 - \ nextgroup=nix_${lang}_region_IND_STRING,nix_${lang}_region_STRING 278 - \ transparent 279 - 280 - syn region nix_${lang}_region_STRING 281 - \ matchgroup=NixSTRING 282 - \ start='"' 283 - \ skip='\\"' 284 - \ end='"' 285 - \ contained 286 - \ contains=@nix_${lang}_syntax 287 - \ transparent 288 - 289 - syn region nix_${lang}_region_IND_STRING 290 - \ matchgroup=NixIND_STRING 291 - \ start="'''" 292 - \ skip="'''\('\|[$]\|\\[nrt]\)" 293 - \ end="'''" 294 - \ contained 295 - \ contains=@nix_${lang}_syntax 296 - \ transparent 297 - 298 - syn cluster nix_ind_strings 299 - \ add=nix_${lang}_region_IND_STRING 300 - 301 - syn cluster nix_strings 302 - \ add=nix_${lang}_region_STRING 303 - 304 - syn cluster nix_has_dollar_curly 305 - \ add=@nix_${lang}_syntax 306 - '') { 307 - c = {}; 308 - cabal = {}; 309 - haskell = {}; 310 - sh.extraStart = ''write\(Ba\|Da\)sh[^ \t\r\n]*[ \t\r\n]*"[^"]*"''; 311 - vim.extraStart = 312 - ''write[^ \t\r\n]*[ \t\r\n]*"\(\([^"]*\.\)\?vimrc\|[^"]*\.vim\)"''; 313 - })} 314 - 315 - " Clear syntax that interferes with nixINSIDE_DOLLAR_CURLY. 316 - syn clear shVarAssign 317 - 318 - syn region nixINSIDE_DOLLAR_CURLY 319 - \ matchgroup=NixEnter 320 - \ start="[$]{" 321 - \ end="}" 322 - \ contains=TOP 323 - \ containedin=@nix_has_dollar_curly 324 - \ transparent 325 - 326 - syn region nix_inside_curly 327 - \ matchgroup=NixEnter 328 - \ start="{" 329 - \ end="}" 330 - \ contains=TOP 331 - \ containedin=nixINSIDE_DOLLAR_CURLY,nix_inside_curly 332 - \ transparent 333 - 334 - syn match NixQuote /'''\([''$']\|\\.\)/he=s+2 335 - \ containedin=@nix_ind_strings 336 - \ contained 337 - 338 - syn match NixQuote /\\./he=s+1 339 - \ containedin=@nix_strings 340 - \ contained 341 - 342 - syn sync fromstart 343 - 344 - let b:current_syntax = "nix" 345 - 346 - set isk=@,48-57,_,192-255,-,' 347 - ''; 348 - in 349 - out