my laptops nixos configuration, hopefully less messy this time (but still a lil' messy)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.5KB

  1. { pkgs, ... }: {
  2. programs.neovim = {
  3. enable = true;
  4. viAlias = true;
  5. vimAlias = true;
  6. configure = {
  7. customRC = ''
  8. let mapleader="\<SPACE>"
  9. syntax on
  10. filetype on
  11. filetype plugin indent on
  12. set showmatch
  13. set number
  14. set formatoptions+=o
  15. set expandtab
  16. set tabstop=3
  17. set shiftwidth=3
  18. set nojoinspaces
  19. set splitbelow
  20. set splitright
  21. if !&scrolloff
  22. set scrolloff=3
  23. endif
  24. if !&sidescrolloff
  25. set sidescrolloff=3
  26. endif
  27. set nostartofline
  28. if &listchars ==# 'eol:$'
  29. set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
  30. endif
  31. set list
  32. set ignorecase
  33. set smartcase
  34. set gdefault
  35. if maparg('<C-L>', 'n') ==# '''
  36. nnoremap <silent> <C-L> :nohlsearch<CR><C-L>
  37. endif
  38. nmap <Leader>s :%s//g<Left><Left>
  39. function! NumberToggle()
  40. if(&relativenumber == 1)
  41. set nornu
  42. set number
  43. else
  44. set rnu
  45. endif
  46. endfunc
  47. nnoremap <Leader>r :call NumberToggle()<cr>
  48. nnoremap <Leader>o :CtrlP<CR>
  49. nnoremap <Leader>b :CtrlPBuffer<CR>
  50. nnoremap <Leader>f :CtrlPMRUFiles<CR>
  51. let g:airline#extensions#tabline#enabled = 2
  52. let g:airline#extensions#tabline#fnamemod = ':t'
  53. let g:airline#extensions#tabline#left_sep = ' '
  54. let g:airline#extensions#tabline#left_alt_sep = '|'
  55. let g:airline#extensions#tabline#right_sep = ' '
  56. let g:airline#extensions#tabline#right_alt_sep = '|'
  57. let g:airline_left_sep = ' '
  58. let g:airline_left_alt_sep = '|'
  59. let g:airline_right_sep = ' '
  60. let g:airline_right_alt_sep = '|'
  61. let g:idris_indent_if = 3
  62. let g:idris_indent_case = 5
  63. let g:idris_indent_let = 4
  64. let g:idris_indent_where = 6
  65. let g:idris_indent_do = 3
  66. let g:idris_indent_rewrite = 8
  67. autocmd FileType idris :packadd idris2-vim
  68. let g:rainbow_conf = {
  69. \ 'ctermfgs': ['red', 'green', 'blue', 'cyan', 'magenta'],
  70. \ 'cterms': ['bold']
  71. \}
  72. '';
  73. packages.nix = with pkgs.vimPlugins; {
  74. start = [
  75. vim-nix
  76. vim-racket
  77. idris2-vim
  78. airline
  79. ctrlp
  80. vim-javascript-syntax
  81. rainbow_parentheses
  82. ];
  83. };
  84. };
  85. };
  86. }