|
|
@ -1,14 +1,17 @@ |
|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
#!/usr/bin/env miaou-bash |
|
|
|
|
|
|
|
|
# CONSTANTS |
|
|
# CONSTANTS |
|
|
|
|
|
|
|
|
MIAOU_BASH_DIR=${MIAOU_BASH_DIR:-/opt/miaou-bash} |
|
|
|
|
|
ORIGINAL="ORIGINAL" |
|
|
|
|
|
PREDEFINED_CONFIG_FILES=(/etc/bash.bashrc /etc/inputrc) |
|
|
|
|
|
readonly MIAOU_BASH_DIR ORIGINAL |
|
|
|
|
|
|
|
|
readonly REQUIRED_PKGS=(file jq vim) |
|
|
|
|
|
readonly ORIGINAL="ORIGINAL" |
|
|
|
|
|
readonly PREDEFINED_CONFIG_FILES=(/etc/bash.bashrc /etc/inputrc) |
|
|
|
|
|
|
|
|
# FUNCTIONS |
|
|
# FUNCTIONS |
|
|
|
|
|
|
|
|
|
|
|
function required_packages { |
|
|
|
|
|
"$MIAOU_BASH_DIR/tools/idem_apt_install" "${REQUIRED_PKGS[@]}" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
function no_more_skeleton { |
|
|
function no_more_skeleton { |
|
|
[[ -e /etc/skel/.bashrc ]] && rm /etc/skel/.bashrc && echo "skeleton .bashrc removed!" |
|
|
[[ -e /etc/skel/.bashrc ]] && rm /etc/skel/.bashrc && echo "skeleton .bashrc removed!" |
|
|
true |
|
|
true |
|
|
@ -17,13 +20,12 @@ function no_more_skeleton { |
|
|
function predefine_config_files { |
|
|
function predefine_config_files { |
|
|
for i in "${PREDEFINED_CONFIG_FILES[@]}"; do |
|
|
for i in "${PREDEFINED_CONFIG_FILES[@]}"; do |
|
|
local miaou_file |
|
|
local miaou_file |
|
|
miaou_file="${MIAOU_BASH_DIR}/$(basename "$i")" |
|
|
|
|
|
|
|
|
miaou_file="${MIAOU_BASH_DIR}/etc/$(basename "$i")" |
|
|
if [[ -L "$i" ]]; then |
|
|
if [[ -L "$i" ]]; then |
|
|
if [[ "$(readlink "$i")" == "${miaou_file}" ]]; then |
|
|
if [[ "$(readlink "$i")" == "${miaou_file}" ]]; then |
|
|
echo "$i => MIAOU_BASH_DIR already set!" |
|
|
echo "$i => MIAOU_BASH_DIR already set!" |
|
|
else |
|
|
else |
|
|
rm "$i" |
|
|
|
|
|
ln -s "${miaou_file}" "$i" |
|
|
|
|
|
|
|
|
ln -sf "${miaou_file}" "$i" |
|
|
echo "$i => MIAOU_BASH_DIR freshly defined." |
|
|
echo "$i => MIAOU_BASH_DIR freshly defined." |
|
|
fi |
|
|
fi |
|
|
else |
|
|
else |
|
|
@ -34,17 +36,11 @@ function predefine_config_files { |
|
|
done |
|
|
done |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function bin_miaou_bash { |
|
|
|
|
|
[[ ! -e /usr/bin/miaou-bash ]] && |
|
|
|
|
|
ln -s "$MIAOU_BASH_DIR/bin/miaou-bash" /usr/bin/ && |
|
|
|
|
|
echo "miaou-bash globally defined!" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# MAIN |
|
|
# MAIN |
|
|
|
|
|
|
|
|
set -TEeu -o pipefail |
|
|
|
|
|
[ "$(id -u)" -ne 0 ] && echo 'root privilege required' && exit 1 |
|
|
|
|
|
|
|
|
[ "$UID" -ne 0 ] && echo 'root privilege required' && exit 1 |
|
|
|
|
|
|
|
|
|
|
|
source "$MIAOU_BASH_DIR/lib/functions.bash" |
|
|
|
|
|
required_packages |
|
|
no_more_skeleton |
|
|
no_more_skeleton |
|
|
predefine_config_files |
|
|
predefine_config_files |
|
|
bin_miaou_bash |
|
|
|