59 lines
1.5 KiB
Nix
59 lines
1.5 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
environment.systemPackages = [ pkgs.vim ];
|
|
|
|
home-manager.users.krizej = {
|
|
home.sessionVariables = { "EDITOR" = "vim"; };
|
|
# fixme: not .vim
|
|
home.file = { ".vim/colors/darcula.vim".source = ../files/darcula.vim; };
|
|
programs.vim = {
|
|
enable = true;
|
|
defaultEditor = true;
|
|
plugins = [
|
|
pkgs.vimPlugins.indentLine
|
|
pkgs.vimPlugins.vim-gitgutter
|
|
];
|
|
settings = let
|
|
vimCache = "~/.cache/vim";
|
|
in {
|
|
background = "dark";
|
|
backupdir = [ "${vimCache}/backup/" ];
|
|
copyindent = false;
|
|
directory = [ "~/.cache/vim/swap/" ];
|
|
expandtab = true;
|
|
hidden = false;
|
|
history = 420;
|
|
ignorecase = false;
|
|
modeline = true;
|
|
mouse = "a";
|
|
mousefocus = false;
|
|
mousehide = false;
|
|
mousemodel = "popup_setpos";
|
|
number = true;
|
|
relativenumber = true;
|
|
shiftwidth = 4;
|
|
smartcase = false;
|
|
tabstop = 4;
|
|
undodir = [ "~/.cache/vim/undo/" ];
|
|
undofile = false;
|
|
};
|
|
extraConfig = ''
|
|
set updatetime=100
|
|
set signcolumn=yes
|
|
set termguicolors
|
|
set cursorline
|
|
colorscheme darcula
|
|
let g:indentLine_char = '▏'
|
|
let g:c_no_ansi = 1
|
|
let g:c_functions = 1
|
|
let g:c_no_c99 = 1
|
|
let g:c_no_bsd = 1
|
|
let g:c_no_c11 = 1
|
|
let g:c_gnu = 1
|
|
'';
|
|
};
|
|
};
|
|
|
|
# fuck you
|
|
programs.nano.enable = false;
|
|
}
|