new install
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
" ---------------
|
" ---------------
|
||||||
|
|
||||||
" Open File and Go to Line under Cursor
|
" Open File and Go to Line under Cursor
|
||||||
nnoremap gf gF
|
nmap gf gF
|
||||||
|
|
||||||
" Move Along Words
|
" Move Along Words
|
||||||
inoremap <C-Left> B
|
inoremap <C-Left> B
|
||||||
|
|||||||
+18
-43
@@ -2,56 +2,31 @@
|
|||||||
|
|
||||||
## CONSTANTS
|
## CONSTANTS
|
||||||
|
|
||||||
readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
|
|
||||||
readonly DESTINATION=/opt/miaou-bash
|
readonly DESTINATION=/opt/miaou-bash
|
||||||
readonly REQUIRED_PKGS=(file jq)
|
readonly MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz"
|
||||||
|
|
||||||
## FUNCTIONS
|
## FUNCTIONS
|
||||||
|
|
||||||
function push_directory {
|
function bootstrap {
|
||||||
pushd "$1" || (echo "unable to push directory <$1>" && exit 1)
|
if [[ ! -d "$DESTINATION" ]]; then
|
||||||
}
|
local temp_dir
|
||||||
|
temp_dir=$(mktemp -d)
|
||||||
|
pushd "$temp_dir" || return 2
|
||||||
|
curl --no-progress-meter -O $MAIN_TAR_GZ_URL
|
||||||
|
tar -xzf main.tar.gz --directory "$DESTINATION"
|
||||||
|
popd || return 3
|
||||||
|
fi
|
||||||
|
|
||||||
function pop_directory {
|
local source_bin="$MIAOU_BASH_DIR/bin/miaou-bash"
|
||||||
popd || (echo "unable to pop from previous directory" && exit 1)
|
local dest_bin="/usr/bin/miaou-bash"
|
||||||
|
cmp -s "$source_bin" "$dest_bin" || cp -f "$source_bin" "$dest_bin"
|
||||||
|
|
||||||
|
export MIAOU_BASH_DIR="$DESTINATION"
|
||||||
}
|
}
|
||||||
|
|
||||||
## MAIN
|
## MAIN
|
||||||
|
|
||||||
[[ "$UUID" -ne 0 ]] && echo 'root privilege required' && exit 1
|
[[ "$UID" -ne 0 ]] && echo 'root privilege required' && exit 1
|
||||||
|
|
||||||
if [[ -v MIAOU_BASH_DIR ]]; then
|
[[ -v MIAOU_BASH_DIR ]] || bootstrap
|
||||||
miaou-bash "$MIAOU_BASH_DIR/init.sh"
|
miaou-bash "$MIAOU_BASH_DIR/lib/init.bash"
|
||||||
else
|
|
||||||
MIAOU_BASH_DIR="$DESTINATION"
|
|
||||||
export MIAOU_BASH_DIR
|
|
||||||
cd "$(mktemp -d)"
|
|
||||||
curl --no-progress-meter -O $MAIN_TAR_GZ_URL
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $PWD != "$DESTINATION" ]]; then
|
|
||||||
# download and fullfill /opt/miaou-bash, then run it from folder
|
|
||||||
|
|
||||||
if [[ -L /opt/miaou-bash ]]; then
|
|
||||||
/opt/miaou-bash/install.sh
|
|
||||||
else
|
|
||||||
rm -rf "$DESTINATION"
|
|
||||||
|
|
||||||
pushd "$(mktemp -d)"
|
|
||||||
curl --no-progress-meter -O $MAIN_TAR_GZ_URL
|
|
||||||
tar -xzf main.tar.gz
|
|
||||||
mv miaou-bash /opt/
|
|
||||||
pop_directory
|
|
||||||
rm -rf "$TEMP"
|
|
||||||
|
|
||||||
push_directory /opt/miaou-bash && ./install.sh
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
MIAOU_BASH_DIR=$CURDIR
|
|
||||||
export MIAOU_BASH_DIR
|
|
||||||
source "$MIAOU_BASH_DIR/lib/functions.bash"
|
|
||||||
"$MIAOU_BASH_DIR/tools/idem_apt_install" "${REQUIRED_PKGS[@]}"
|
|
||||||
./init.sh
|
|
||||||
fi
|
|
||||||
|
|||||||
+13
-17
@@ -1,14 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/usr/bin/env miaou-bash
|
||||||
|
|
||||||
# CONSTANTS
|
# CONSTANTS
|
||||||
|
|
||||||
MIAOU_BASH_DIR=${MIAOU_BASH_DIR:-/opt/miaou-bash}
|
readonly REQUIRED_PKGS=(file jq vim)
|
||||||
ORIGINAL="ORIGINAL"
|
readonly ORIGINAL="ORIGINAL"
|
||||||
PREDEFINED_CONFIG_FILES=(/etc/bash.bashrc /etc/inputrc)
|
readonly PREDEFINED_CONFIG_FILES=(/etc/bash.bashrc /etc/inputrc)
|
||||||
readonly MIAOU_BASH_DIR ORIGINAL
|
|
||||||
|
|
||||||
# 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 -sf "${miaou_file}" "$i"
|
||||||
ln -s "${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
|
[ "$UID" -ne 0 ] && echo 'root privilege required' && exit 1
|
||||||
[ "$(id -u)" -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
|
|
||||||
Reference in New Issue
Block a user