vim9script
if &compatible
	set nocompatible
endif

const xdg = {
	XDG_CONFIG_HOME: '~/.config',
	XDG_CACHE_HOME: '~/.cache',
	XDG_DATA_HOME: '~/.local/share',
	XDG_STATE_HOME: '~/.local/state',
}
for [key, default] in items(xdg)
	if !has_key(environ(), key)
		setenv(key, expand(default))
	endif
endfor

set runtimepath=$XDG_CONFIG_HOME/vim,$XDG_CACHE_HOME/vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,$XDG_CONFIG_HOME/vim/after,$XDG_CACHE_HOME/vim/after
set viminfo+=n$XDG_STATE_HOME/vim/viminfo
if exists('+packpath')
	set packpath^=$XDG_CONFIG_HOME/vim,$XDG_CACHE_HOME/vim
endif
g:netrw_home = $XDG_CACHE_HOME .. '/vim/netrw'

$MYVIMRC = $XDG_CONFIG_HOME .. '/vim/init.vim'
source $MYVIMRC