I think it would be better if it was more like rc.conf by using an array and a function that went through that array. It looks simple enough, maybe something like exec_xinitd_scripts() { if [[ $XINITD_SCRIPTS ]]; then for ((i=0; i < ${#XINITD_SCRIPTS[@]}; i++)); do exec_next_xinitrc "${XINITD_SCRIPTS[i]}" done fi } and put XINITD_SCRIPTS=(consolekit something somethingelse) exec_xinitd_scripts in $HOME/.xinitrc