#!/usr/bin/bash

CONFIG_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/X11
userresources=$CONFIG_DIR/xresources
usermodmap=$CONFIG_DIR/xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
userxinitrc=$CONFIG_DIR/nvidia-xinitrc

# merge in defaults and keymaps
if [[ -f ${sysresources} ]]; then
    xrdb -merge ${sysresources}
fi

if [[ -f ${sysmodmap} ]]; then
    xmodmap ${sysmodmap}
fi

if [[ -f "$userresources" ]]; then
    xrdb -merge "$userresources"
fi

if [[ -f "$usermodmap" ]]; then
    xmodmap "$usermodmap"
fi

export LD_LIBRARY_PATH=/usr/lib64/nvidia/:/usr/lib/nvidia:/usr/lib64:/usr/lib:${LD_LIBRARY_PATH}

# load additional configs
if [[ -d /etc/X11/xinit/nvidia-xinitrc.d ]] ; then
 for f in /etc/X11/xinit/nvidia-xinitrc.d/?*.sh ; do
  [[ -x "$f" ]] && . "$f"
 done
 unset f
fi

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

if [[ -f "$userxinitrc" ]]; then
    sh ${userxinitrc} $*
else
    if [[ $# -gt 0 ]]; then
        sh -c "exec $*"
	fi
fi
