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.
48 lines
1.1 KiB
48 lines
1.1 KiB
{ pkgs, ... }:
|
|
|
|
{
|
|
programs.vim = {
|
|
enable = true;
|
|
extraConfig = ''
|
|
" Temporary configuration for editing Nix files
|
|
syntax on
|
|
set autoindent
|
|
set expandtab
|
|
set tabstop=2
|
|
set shiftwidth=2
|
|
|
|
" Temporary configuration for editing markdown
|
|
" full configuration with plugins is described here
|
|
" https://blog.elnu.com/2022/06/how-to-configure-vim-for-writing
|
|
|
|
setlocal linebreak
|
|
|
|
set spell spelllang=en
|
|
set spelllang+=cjk " prevent CJK characters from being spellchecked
|
|
|
|
function! Characters()
|
|
return strchars(join(getline(1, '$'), "\n"))
|
|
endfunction
|
|
function! Words()
|
|
return wordcount().words
|
|
endfunction
|
|
|
|
function! Minutes()
|
|
let wpm = 200
|
|
return (Words() + wpm / 2) / wpm
|
|
endfunction
|
|
|
|
set laststatus=2 " enable status line
|
|
set statusline+=%=%{Words()}\ words,
|
|
set statusline+=\ %{Characters()}\ characters,\ about
|
|
set statusline+=\ %{Minutes()}\ minutes
|
|
" remove ugly white background
|
|
hi StatusLine ctermfg=0 ctermbg=none cterm=bold " 0 for the terminal color 0
|
|
'';
|
|
};
|
|
|
|
home.sessionVariables = {
|
|
EDITOR = "vim";
|
|
};
|
|
}
|