nix/programs/vim.nix
2024-07-04 01:25:55 +02:00

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;
}