#!@BINDIR@/bash # Copyright (c) 2015-2018 Eric Vidal <eric@obarun.org> # All rights reserved. # # This file is part of Obarun. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution. # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. out_progress() { oblog "[ $1 ]" oblog " " } sourcing(){ local list for list in /tmp/obarun-install-tmp/install.conf /usr/lib/obarun/util.sh; do if [[ -f "${list}" ]]; then source "${list}" else oblog -f "Missing file : ${list}" exit fi done unset list } sourcing custo_once() { local _tmp cmd cmd="${1}" _tmp="/tmp/obarun-install-tmp" if [[ ! -d $_tmp ]]; then mkdir -p -m0755 $_tmp || die "Impossible to create $_tmp" fi if [[ ! -e $_tmp/customize.${cmd} ]]; then "${cmd}" || die "Cannot execute $_" touch $_tmp/customize.${cmd} else return fi unset _tmp } ############################## only modifie this script after this line ############################ create_log_user(){ oblog "add ${NEWUSER} to log group" gpasswd -a "$NEWUSER" log } config_tree_boot(){ oblog "Create [boot] tree" out_progress "Starting ..." #sleep 2 66-tree -zv3 -n boot || die "unable to create [boot] tree" out_progress "Done" } config_enable_boot(){ oblog "Enable (boot@system) service to [boot] tree" out_progress "Starting ..." #sleep 2 66-enable -zv3 -t boot -C -F boot@system || die "unable to enable boot@system to [boot] tree" out_progress "Done" #sleep 1 ## this is a little ugly, 66-env -r works properly but remove comment ## inside the configuration file. It can be confusing to a new user ## to not have the comments. ## So, first find the current version of the configuration file and use ## the classic sed command instead of 66-env. BOOT_CONF="$(readlink /etc/66/conf/boot@system/version)" BOOT_CONF="${BOOT_CONF}/boot@system" oblog "Configure (boot@system) service" out_progress "Starting ..." sed -i "s:^HOSTNAME.*$:HOSTNAME=\!${HOSTNAME}:" ${BOOT_CONF} || die "unable to set HOSTANME" sed -i "s:^KEYMAP.*$:KEYMAP=\!${KEYMAP}:" ${BOOT_CONF} || die "unable to set KEYMAP" sed -i "s:^TZ.*$:TZ=${ZONE}/${SUBZONE}:" ${BOOT_CONF} || die "unable to set TZ" oblog "Apply change to the (boot@system) service" out_progress "Starting ..." 66-enable -zv3 -t boot -F boot@system || die "unable to apply boot changes" out_progress "Done" } config_tree_root(){ oblog "Create and enable [root] tree" out_progress "Starting ..." #sleep 2 66-tree -zv3 -En root || die "unable to create [root] tree" out_progress "Done" } config_enable_root(){ oblog "Enable (dbus) (networkmanager) (sddm) (consolekit) services to [root] tree" out_progress "Starting ..." #sleep 2 66-enable -zv3 -t root dbus networkmanager sddm consolekit || die "unable to enable (dbus) (networkmanager) (sddm) (consolekit) to [root] tree" out_progress "Done" } config_tree_boot_user(){ oblog "Create and enable [${NEWUSER}-session] tree" out_progress "Starting ..." #sleep 2 66-tree -zv3 -nE ${NEWUSER}-session || die "unable to create [${NEWUSER}-session] tree" out_progress "Done" } config_enable_boot_user(){ oblog "Configure and enable (boot-user@${NEWUSER}) service to [${NEWUSER}-session] tree" out_progress "Starting ..." #sleep 2 66-enable -zv3 -t ${NEWUSER}-session -C -F boot-user@${NEWUSER} || die "unable to enable (boot-user@${NEWUSER}) service to [${NEWUSER}-session] tree" out_progress "Done" #sleep 1 BOOT_USER="$(readlink /etc/66/conf/boot-user@${NEWUSER}/version)" BOOT_USER="${BOOT_USER}/boot-user@${NEWUSER}" oblog "Configure (boot-user@${NEWUSER}) service" out_progress "Starting ..." sed -i "s:^DESKTOP_CMDLINE.*$:DESKTOP_CMDLINE=\!startplasma-x11:" ${BOOT_USER} || die "unable to set DESKTOP_CMDLINE" out_progress "Done" oblog "Apply change to the (boot-user@{NEWUSER}) service" out_progress "Starting ..." 66-enable -zv3 -t ${NEWUSER}-session -F boot-user@${NEWUSER} || die "unable to apply (${NEWUSER}-session) changes" out_progress "Done" } config_tree_system(){ oblog "Create and enable [system] tree" out_progress "Starting ..." #sleep 2 66-tree -zv3 -ncE system || die "unable to create [system] tree" out_progress "Done" } config_enable_system(){ oblog "Enable (sshd) service to [system] tree" out_progress "Starting ..." #sleep 2 66-enable -zv3 -t system sshd || die "unable to enable (sshd) to [root] tree" out_progress "Done" } config_tree_base_user(){ oblog "For ${NEWUSER}: Create and enable [${NEWUSER}] tree. Set it as the current user tree" out_progress "Starting ..." # sleep 2 su "${NEWUSER}" -c "66-tree -zv3 -nEc ${NEWUSER}" out_progress "Done" } config_enable_base_user(){ oblog "Enable (xdg-user-dirs) (dbus-session@${NEWUSER}) services to [${NEWUSER}] tree" out_progress "Starting ..." #sleep 2 su "${NEWUSER}" -c "66-enable -zv3 xdg-user-dirs dbus-session@${NEWUSER}" out_progress "Done" } config_xsession(){ cat << EOF > /home/${NEWUSER}/.xsession list=( \$(ls -1 /home/${NEWUSER}/.66/conf/svscan@${NEWUSER}) ) for i in \${list[@]};do var=\$(</home/${NEWUSER}/.66/conf/svscan@${NEWUSER}/\${i}) for j in \${var[@]}; do export \${j} done done 66-all up EOF } custo_once create_log_user custo_once config_tree_boot custo_once config_enable_boot custo_once config_tree_root custo_once config_enable_root custo_once config_tree_boot_user custo_once config_enable_boot_user custo_once config_tree_system custo_once config_enable_system custo_once config_tree_base_user custo_once config_enable_base_user custo_once config_xsession oblog "Configuration completed"