-{config, pkgs, ... }:
+{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
exec ${pkgs.nvi}/bin/vi "$@"
'';
})
- neovim
];
-
environment.etc."vimrc".text = ''
-set autoread
-au FocusGained,BufEnter * silent! checktime
+ set autoread
+ au FocusGained,BufEnter * silent! checktime
-" :W sudo saves the file
-" (useful for handling the permission-denied error)
-command! W execute 'w !sudo tee % > /dev/null' <bar> edit!
+ " :W sudo saves the file
+ " (useful for handling the permission-denied error)
+ command! W execute 'w !sudo tee % > /dev/null' <bar> edit!
-" Turn on the Wild menu
-set wildmenu
+ " Turn on the Wild menu
+ set wildmenu
-" Ignore compiled files
-set wildignore=*.o,*~,*.pyc
-set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
+ " Ignore compiled files
+ set wildignore=*.o,*~,*.pyc
+ set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
-set ruler
+ set ruler
-set ignorecase
-set smartcase
-set hlsearch
-set incsearch
-set lazyredraw
-set magic
-set showmatch
+ set ignorecase
+ set smartcase
+ set hlsearch
+ set incsearch
+ set lazyredraw
+ set magic
+ set showmatch
-syntax enable
-set noswapfile
+ syntax enable
+ set noswapfile
-" Use spaces instead of tabs
-set expandtab
+ " Use spaces instead of tabs
+ set expandtab
-" Be smart when using tabs ;)
-set smarttab
+ " Be smart when using tabs ;)
+ set smarttab
-" 1 tab == 4 spaces
-set shiftwidth=4
-set tabstop=4
+ " 1 tab == 4 spaces
+ set shiftwidth=4
+ set tabstop=4
-" Linebreak on 500 characters
-set lbr
-set tw=500
+ " Linebreak on 500 characters
+ set lbr
+ set tw=500
-set ai "Auto indent
-set si "Smart indent
-set wrap "Wrap lines
+ set ai "Auto indent
+ set si "Smart indent
+ set wrap "Wrap lines
-" Always show the status line
-set laststatus=2
+ " Always show the status line
+ set laststatus=2
-set number relativenumber
+ set number relativenumber
- " Force the cursor to a Block when Vim starts
-let &t_ti = &t_ti . "\e[2 q"
-let &t_te = &t_te . "\e[2 q"
-let &t_EI = "\e[2 q"
-let &t_SI = "\e[2 q"
+ " Force the cursor to a Block when Vim starts
+ let &t_ti = &t_ti . "\e[2 q"
+ let &t_te = &t_te . "\e[2 q"
+ let &t_EI = "\e[2 q"
+ let &t_SI = "\e[2 q"
'';
+
+ programs.neovim = {
+ enable = true;
+ defaultEditor = true;
+ configure = {
+ customRC = ''
+
+ set autoread
+ au FocusGained,BufEnter * silent! checktime
+
+ " :W sudo saves the file
+ " (useful for handling the permission-denied error)
+ command! W execute 'w !sudo tee % > /dev/null' <bar> edit!
+
+ " Turn on the Wild menu
+ set wildmenu
+
+ " Ignore compiled files
+ set wildignore=*.o,*~,*.pyc
+ set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
+
+
+ set ruler
+
+ set ignorecase
+ set smartcase
+ set hlsearch
+ set incsearch
+ set lazyredraw
+ set magic
+ set showmatch
+
+ syntax enable
+ set noswapfile
+
+ " Use spaces instead of tabs
+ set expandtab
+
+ " Be smart when using tabs ;)
+ set smarttab
+
+ " 1 tab == 4 spaces
+ set shiftwidth=4
+ set tabstop=4
+
+ " Linebreak on 500 characters
+ set lbr
+ set tw=500
+
+ set ai "Auto indent
+ set si "Smart indent
+ set wrap "Wrap lines
+
+ " Always show the status line
+ set laststatus=2
+
+ set number relativenumber
+
+ '';
+ };
+ };
+
}