Set function for easy select
This commit is contained in:
parent
370b2d4a49
commit
55c441ba0c
1 changed files with 139 additions and 136 deletions
275
main_install.sh
275
main_install.sh
|
@ -1,7 +1,11 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
## Script to automate the setting up of my working environment.
|
|
||||||
## flyingscorpio
|
## flyingscorpio
|
||||||
|
## Script to automate the setting up of my working environment.
|
||||||
|
## Uncomment the function calls you wish to run.
|
||||||
|
|
||||||
|
|
||||||
|
# Set up {{{
|
||||||
|
|
||||||
RED=$(tput setaf 1)
|
RED=$(tput setaf 1)
|
||||||
GREEN=$(tput setaf 2)
|
GREEN=$(tput setaf 2)
|
||||||
|
@ -13,6 +17,9 @@ export GREEN
|
||||||
export ORANGE
|
export ORANGE
|
||||||
export NC
|
export NC
|
||||||
|
|
||||||
|
BASE_DIR="$PWD"
|
||||||
|
export BASE_DIR
|
||||||
|
|
||||||
separator() {
|
separator() {
|
||||||
exit_status=$?
|
exit_status=$?
|
||||||
if [ $exit_status -eq 0 ]; then
|
if [ $exit_status -eq 0 ]; then
|
||||||
|
@ -24,8 +31,7 @@ separator() {
|
||||||
echo "${NC}"
|
echo "${NC}"
|
||||||
}
|
}
|
||||||
|
|
||||||
BASE_DIR="$PWD"
|
# }}}
|
||||||
export BASE_DIR
|
|
||||||
|
|
||||||
# Define OS {{{
|
# Define OS {{{
|
||||||
|
|
||||||
|
@ -89,158 +95,155 @@ export UPDATE
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
# Install scripts {{{
|
install_scripts() { # {{{
|
||||||
|
|
||||||
echo "Installing scripts..."
|
echo "Installing scripts..."
|
||||||
|
|
||||||
if [ "$OS" = 'debian' ]; then
|
if [ "$OS" = 'debian' ]; then
|
||||||
/bin/bash "$BASE_DIR"/installation_scripts/debian_based_installs.sh
|
/bin/bash "$BASE_DIR"/installation_scripts/debian_based_installs.sh
|
||||||
elif [ "$OS" = 'arch' ]; then
|
elif [ "$OS" = 'arch' ]; then
|
||||||
/bin/bash "$BASE_DIR"/installation_scripts/arch_based_installs.sh
|
/bin/bash "$BASE_DIR"/installation_scripts/arch_based_installs.sh
|
||||||
else
|
|
||||||
echo "${RED} Didn't receive correct OS information, quitting...${NC}"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
separator
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Update vim configuration {{{
|
|
||||||
|
|
||||||
echo "Setting up configuration for Vim..."
|
|
||||||
|
|
||||||
/bin/bash "$BASE_DIR"/installation_scripts/vim_update.sh
|
|
||||||
|
|
||||||
separator
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Update i3 configuration {{{
|
|
||||||
|
|
||||||
echo "Setting up i3..."
|
|
||||||
|
|
||||||
/bin/bash "$BASE_DIR"/installation_scripts/i3_update.sh
|
|
||||||
|
|
||||||
separator
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Configure ProtonVPN {{{
|
|
||||||
|
|
||||||
echo "Configuring ProtonVPN..."
|
|
||||||
|
|
||||||
if [ ! -e ~/.pvpn-cli/pvpn-cli.cfg ]; then
|
|
||||||
sudo protonvpn init && sudo protonvpn c --cc CH
|
|
||||||
fi
|
|
||||||
|
|
||||||
separator
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Update .bashrc {{{
|
|
||||||
|
|
||||||
echo "Updating .bashrc..."
|
|
||||||
|
|
||||||
if [ ! -L ~/.bashrc ]; then
|
|
||||||
ln -rs "$BASE_DIR"/dotfiles/bash/bashrc ~/.bashrc 2> /dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
separator
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Update .bash_aliases {{{
|
|
||||||
|
|
||||||
echo "Updating .bash_aliases..."
|
|
||||||
|
|
||||||
if [ ! -L ~/.bash_aliases ]; then
|
|
||||||
ln -rs "$BASE_DIR"/dotfiles/bash/bash_aliases ~/.bash_aliases 2> /dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
separator
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Configure Git {{{
|
|
||||||
|
|
||||||
echo "Configuring Git..."
|
|
||||||
git config --global user.name "$USER@$(uname -n)"
|
|
||||||
git config --global user.email "tfranken@protonmail.com"
|
|
||||||
git config --global alias.ci "commit"
|
|
||||||
git config --global alias.co "checkout"
|
|
||||||
git config --global alias.st "status"
|
|
||||||
git config --global alias.br "branch"
|
|
||||||
|
|
||||||
separator
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Install Rust {{{
|
|
||||||
|
|
||||||
echo "Installing Rust..."
|
|
||||||
if rustc --version; then
|
|
||||||
echo "${GREEN}Rust is already intalled${NC}"
|
|
||||||
if [ "$UPDATE" = 'true' ]; then
|
|
||||||
echo "Updading..."
|
|
||||||
rustup update
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if curl https://sh.rustup.rs -sSf | sh; then
|
|
||||||
echo "${GREEN}Successfully installed Rust${NC}"
|
|
||||||
else
|
else
|
||||||
echo "${ORANGE}There was a problem while installing Rust${NC}"
|
echo "${RED} Didn't receive correct OS information, quitting...${NC}"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
separator
|
separator
|
||||||
|
|
||||||
# }}}
|
} # }}}
|
||||||
|
# install_scripts
|
||||||
|
|
||||||
# Clone bash-git-prompt {{{
|
update_vim() { # {{{
|
||||||
|
# Update vim configuration
|
||||||
|
|
||||||
if [ -e ~/.bash-git-prompt ]; then
|
echo "Setting up configuration for Vim..."
|
||||||
echo "${GREEN}Found existing bash-git-prompt.${NC}"
|
/bin/bash "$BASE_DIR"/installation_scripts/vim_update.sh
|
||||||
if [ "$UPDATE" = 'true' ]; then
|
separator
|
||||||
echo "Updating..."
|
|
||||||
cd ~/.bash-git-prompt && git pull
|
} # }}}
|
||||||
|
# update_vim
|
||||||
|
|
||||||
|
update_i3() { # {{{
|
||||||
|
# Update i3 configuration
|
||||||
|
|
||||||
|
echo "Setting up i3..."
|
||||||
|
/bin/bash "$BASE_DIR"/installation_scripts/i3_update.sh
|
||||||
|
separator
|
||||||
|
|
||||||
|
} # }}}
|
||||||
|
# update_i3
|
||||||
|
|
||||||
|
configure_protonvpn() { # {{{
|
||||||
|
# Configure ProtonVPN
|
||||||
|
|
||||||
|
echo "Configuring ProtonVPN..."
|
||||||
|
sudo protonvpn init && sudo protonvpn c --cc CH
|
||||||
|
separator
|
||||||
|
|
||||||
|
} # }}}
|
||||||
|
# configure_protonvpn
|
||||||
|
|
||||||
|
update_bash_files() { # {{{
|
||||||
|
# Update .bashrc
|
||||||
|
|
||||||
|
echo "Updating .bashrc..."
|
||||||
|
if [ ! -L ~/.bashrc ]; then
|
||||||
|
ln -rs "$BASE_DIR"/dotfiles/bash/bashrc ~/.bashrc 2> /dev/null
|
||||||
fi
|
fi
|
||||||
else
|
separator
|
||||||
echo "${ORANGE}Cloning bash-git-prompt...${NC}"
|
|
||||||
git clone https://github.com/magicmonty/bash-git-prompt.git ~/.bash-git-prompt --depth=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
separator
|
# Update .bash_aliases
|
||||||
|
|
||||||
# }}}
|
echo "Updating .bash_aliases..."
|
||||||
|
if [ ! -L ~/.bash_aliases ]; then
|
||||||
|
ln -rs "$BASE_DIR"/dotfiles/bash/bash_aliases ~/.bash_aliases 2> /dev/null
|
||||||
|
fi
|
||||||
|
separator
|
||||||
|
|
||||||
# Add MIME type for reading .md files in Firefox (need to add extension too) {{{
|
} # }}}
|
||||||
|
# update_bash_files
|
||||||
|
|
||||||
echo "Adding MIME type for .md files in Firefox..."
|
configure_git() { # {{{
|
||||||
echo "${ORANGE}Remember to install the Firefox extension for it to work${NC}"
|
# Configure Git
|
||||||
|
|
||||||
mkdir -p ~/.local/share/mime/packages
|
echo "Configuring Git..."
|
||||||
echo "<?xml version=\"1.0\"?>
|
git config --global user.name "$USER@$(uname -n)"
|
||||||
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
|
git config --global user.email "tfranken@protonmail.com"
|
||||||
<mime-type type=\"text/plain\">
|
git config --global alias.ci "commit"
|
||||||
<glob pattern=\"*.md\"/>
|
git config --global alias.co "checkout"
|
||||||
<glob pattern=\"*.mkd\"/>
|
git config --global alias.st "status"
|
||||||
<glob pattern=\"*.markdown\"/>
|
git config --global alias.br "branch"
|
||||||
</mime-type>
|
separator
|
||||||
</mime-info>" > ~/.local/share/mime/packages/text-markdown.xml
|
|
||||||
|
|
||||||
update-mime-database ~/.local/share/mime
|
} # }}}
|
||||||
|
# configure_git
|
||||||
|
|
||||||
separator
|
install_rust() { # {{{
|
||||||
|
# Install Rust
|
||||||
|
|
||||||
# }}}
|
echo "Installing Rust..."
|
||||||
|
if rustc --version; then
|
||||||
|
echo "${GREEN}Rust is already intalled${NC}"
|
||||||
|
if [ "$UPDATE" = 'true' ]; then
|
||||||
|
echo "Updading..."
|
||||||
|
rustup update
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if curl https://sh.rustup.rs -sSf | sh; then
|
||||||
|
echo "${GREEN}Successfully installed Rust${NC}"
|
||||||
|
else
|
||||||
|
echo "${ORANGE}There was a problem while installing Rust${NC}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
separator
|
||||||
|
|
||||||
# Clone projects {{{
|
} # }}}
|
||||||
|
# install_rust
|
||||||
|
|
||||||
echo "Cloning projects..."
|
bash_git_prompt() { # {{{
|
||||||
|
# Clone bash-git-prompt
|
||||||
|
|
||||||
/bin/bash "$BASE_DIR"/installation_scripts/clone_projects.sh
|
if [ -e ~/.bash-git-prompt ]; then
|
||||||
|
echo "${GREEN}Found existing bash-git-prompt.${NC}"
|
||||||
|
if [ "$UPDATE" = 'true' ]; then
|
||||||
|
echo "Updating..."
|
||||||
|
cd ~/.bash-git-prompt && git pull
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "${ORANGE}Cloning bash-git-prompt...${NC}"
|
||||||
|
git clone https://github.com/magicmonty/bash-git-prompt.git ~/.bash-git-prompt --depth=1
|
||||||
|
fi
|
||||||
|
separator
|
||||||
|
|
||||||
separator
|
} # }}}
|
||||||
|
# bash_git_prompt
|
||||||
|
|
||||||
# }}}
|
markdown_mimetype() { # {{{
|
||||||
|
# Add MIME type for reading .md files in Firefox (need to add extension too)
|
||||||
|
|
||||||
|
echo "Adding MIME type for .md files in Firefox..."
|
||||||
|
echo "${ORANGE}Remember to install the Firefox extension for it to work${NC}"
|
||||||
|
mkdir -p ~/.local/share/mime/packages
|
||||||
|
echo "<?xml version=\"1.0\"?>
|
||||||
|
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
|
||||||
|
<mime-type type=\"text/plain\">
|
||||||
|
<glob pattern=\"*.md\"/>
|
||||||
|
<glob pattern=\"*.mkd\"/>
|
||||||
|
<glob pattern=\"*.markdown\"/>
|
||||||
|
</mime-type>
|
||||||
|
</mime-info>" > ~/.local/share/mime/packages/text-markdown.xml
|
||||||
|
update-mime-database ~/.local/share/mime
|
||||||
|
separator
|
||||||
|
|
||||||
|
} # }}}
|
||||||
|
# markdown_mimetype
|
||||||
|
|
||||||
|
clone_projects() { # {{{
|
||||||
|
# Clone projects
|
||||||
|
|
||||||
|
echo "Cloning projects..."
|
||||||
|
/bin/bash "$BASE_DIR"/installation_scripts/clone_projects.sh
|
||||||
|
separator
|
||||||
|
|
||||||
|
} # }}}
|
||||||
|
# clone_projects
|
||||||
|
|
Loading…
Add table
Reference in a new issue