[vim] Move into user config

This commit is contained in:
Tibo De Peuter 2023-10-19 21:03:53 +02:00
parent 5db79a309f
commit a0819d97f2
7 changed files with 76 additions and 2984 deletions

View file

@ -4,7 +4,6 @@
imports = [
./apps
./shells
./utils
];
# Nix Flakes

View file

@ -1,5 +0,0 @@
{
imports = [
./vim
];
}

View file

@ -1,81 +0,0 @@
{ inputs, lib, config, pkgs, ... }:
{
home-manager.users.tdpeuter = { pkgs, ... }: {
home.file = {
".vim".source = ../../../../stow/vim/.vim;
};
programs.vim = {
enable = true;
extraConfig = ''
colorscheme tdpeuter-light
" Tags
" pacman -S ctags
command! MakeTags !ctags -R . &
" Move to defintion using ^]
" Move to ambigious using g^]
" Move back using ^t
filetype on
filetype indent on
filetype plugin on
" File browsing
let g:netrw_browse_split=4 " open in the previous window
let g:netrw_altv=1 " split new windows to the right
let g:netrw_liststyle=3 " treeview
set autoindent
set conceallevel=2
set incsearch
set linebreak
set nocompatible
set path+=**
set scrolloff=3
set showcmd
set showmatch
set smartindent
set smarttab
set title
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
set wildmenu
syntax enable
if $TERM == 'alacritty'
set ttymouse=sgr " Alacritty specific
endif
if $TERM == 'xterm-kitty'
" Fix <HOME> and <END> not working
set term=xterm-256color
endif
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
" https://stackoverflow.com/a/37558470/19044747
augroup remember_folds
autocmd!
autocmd BufWinLeave * silent! mkview
autocmd BufWinEnter * silent! loadview
augroup END
endif
'';
plugins = with pkgs.vimPlugins; [
ale
catppuccin-vim
statix
vifm-vim
];
settings = {
expandtab = true;
mouse = "a";
number = true;
relativenumber = true;
shiftwidth = 4;
tabstop = 4;
};
};
};
}

View file

@ -32,7 +32,7 @@ in {
home = {
username = user;
homeDirectory = "/home/${user}";
stateVersion = config.system.stateVersion;
inherit (config.system) stateVersion;
# If you specify an application here, it will be detected by the configuration module
# and the configuration files will be put in place for you.
@ -55,6 +55,9 @@ in {
zellij # Tmux + screen alternative
]) ++ (with pkgs-unstable; [
mpv
]) ++ (with pkgs.vimPlugins; [
statix
vim-plug
]);
# Put dotfiles in place.
@ -74,19 +77,23 @@ in {
".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
source = ../../../../stow/ssh/.ssh/config;
};
# Put Vifm files separately so history fill still works.
".config/vifm/colors" = lib.mkIf (builtins.elem pkgs.vifm installedPkgs) {
source = ../../../../stow/vifm/.config/vifm/colors;
};
".config/vifm/scripts" = lib.mkIf (builtins.elem pkgs.vifm installedPkgs) {
source = ../../../../stow/vifm/.config/vifm/scripts;
};
".config/vifm/vifmrc" = lib.mkIf (builtins.elem pkgs.vifm installedPkgs) {
source = ../../../../stow/vifm/.config/vifm/vifmrc;
".config/vifm" = lib.mkIf (builtins.elem pkgs.vifm installedPkgs) {
source = ../../../../stow/vifm/.config/vifm;
recursive = true;
};
".config/zellij" = lib.mkIf (builtins.elem pkgs.zellij installedPkgs) {
source = ../../../../stow/zellij/.config/zellij;
};
".vim" = lib.mkIf (builtins.elem pkgs.vim installedPkgs) {
source = ../../../../stow/vim/.vim;
recursive = true;
};
".vim/autoload/plug.vim" = lib.mkIf (builtins.elem pkgs.vim installedPkgs) {
source = "${pkgs.vimPlugins.vim-plug}/plug.vim";
};
".vimrc" = lib.mkIf (builtins.elem pkgs.vim installedPkgs) {
source = ../../../../stow/vim/.vimrc;
};
};
};