#!/usr/bin/env bash # Copyright 2018 rehashedsalt # Licensed to all under the terms of the MIT License ## Clean up some variables # General unset TERMINAL # Specific to these dtfscripts unset DTF_SERVICES unset DTF_TASKS # Polybar unset PB_MONITOR unset PB_WM_RESTACK unset PB_BAR_PRIMARY_MODULES_LEFT PB_BAR_PRIMARY_MODULES_CENTER PB_BAR_PRIMARY_MODULES_RIGHT unset PB_BAR_PRIMARY_2_MODULES_LEFT PB_BAR_PRIMARY_2_MODULES_CENTER PB_BAR_PRIMARY_2_MODULES_RIGHT unset PB_BAR_SECONDARY_MODULES_LEFT PB_BAR_SECONDARY_MODULES_CENTER PB_BAR_SECONDARY_MODULES_RIGHT unset PB_BAR_SECONDARY_2_MODULES_LEFT PB_BAR_SECONDARY_2_MODULES_CENTER PB_BAR_SECONDARY_2_MODULES_RIGHT unset PB_MODULE_BAR_WIDTH unset PB_MODULE_ETH_INTERFACE unset PB_MODULE_WLAN_INTERFACE # bspwm monitorset.sh unset BSPWM_DESKTOPS_TOTAL unset BSPWM_DESKTOPS_PRIMARY ## Simple patches to get to the common environment script if [[ "$XDG_CONFIG_HOME" == "" ]]; then export XDG_CONFIG_HOME="$HOME/.config" fi export DTF_CONFIG_HOME="$XDG_CONFIG_HOME/dtfscripts" source "$DTF_CONFIG_HOME/common.sh" ## Load device-specific scripts if [[ -x "$DTF_CONFIG_HOME/devices/$(hostname).rc" ]]; then dtf_log "Sourcing devices/$(hostname).rc" source $HOME/.config/dtfscripts/devices/$(hostname).rc fi ## Determine which tasks to run # If DTF_TASKS is set, use that # Otherwise, run everything if [[ "$DTF_TASKS" == "" ]]; then dtf_log "Performing all tasks" for task in $DTF_TASKS_DIR/*; do export DTF_TASKS="$DTF_TASKS $(basename "$task")" done else dtf_log "Performing a subset of all tasks" fi ## Run tasks for task in $DTF_TASKS; do task_full="$DTF_TASKS_DIR/$task" ( if ! [ -r "$task_full" ]; then dtf_log "Task is unreadable or missing: $task" exit 1 fi if ! [ -x "$task_full" ]; then dtf_log "Task is unexecutable: $task" exit 1 fi source "$DTF_CONFIG_HOME/common_task.sh" source "$task_full" ) done ## Determine which services to run # Same as above if [[ "$DTF_SERVICES" == "" ]]; then dtf_log "Starting all available services" for service in $DTF_SERVICES_DIR/*.dtf; do export DTF_SERVICES="$DTF_SERVICES $(basename "$service")" done else dtf_log "Starting a subset of available services" fi ## Run startup scripts for service in $DTF_SERVICES; do service_full="$DTF_SERVICES_DIR/$service" ( if ! [ -r "$service_full" ]; then dtf_log "Service is unreadable or missing: $service" exit 1 fi if ! [ -x "$service_full" ]; then dtf_log "Service is unexecutable: $service" exit 1 fi source "$DTF_CONFIG_HOME/common_service.sh" source "$service_full" if isup && [[ "$service_kill_on_reload" == "true" ]] ; then stop fi if ! prestart; then exit 1; fi if ! prestart-extra; then exit 1; fi start start-extra ) done dtf_log "Finished initialization"