Created
February 5, 2020 17:10
-
-
Save Odilio/3e14195db9807eab84771baa445e46a0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
export ME=${USER:-$(whoami)} | |
# tilix, git, zsh, curl and ohmyz.sh | |
sudo apt update -qm && | |
sudo apt install -qy tilix zsh git curl fonts-firacode && | |
bash -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && | |
sed -Ei "s/ZSH_THEME=\"robbyrussell\"/ZSH_THEME=\"lambda\"/" $HOME/.zshrc | |
sudo ln -s /etc/profile.d/vte-2.91.sh /etc/profile.d/vte.sh | |
echo 'if [ $TILIX_ID ] || [ $VTE_VERSION ]; then | |
source /etc/profile.d/vte.sh | |
fi' >>$HOME/.zshrc | |
sed -Ei "s/plugins=\(([^)]+)\)/plugins=\(\1 command-not-found\)/" $HOME/.zshrc | |
# docker and docker-compose | |
sudo bash -c "$(curl -fsSL https://get.docker.com)" && | |
sudo usermod -aG docker $ME && | |
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && | |
sudo chmod +x /usr/local/bin/docker-compose && | |
sed -Ei "s/plugins=\(([^)]+)\)/plugins=\(\1 docker docker-compose\)/" $HOME/.zshrc | |
# nvm, node lts and yarn | |
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh)" && | |
export NVM_DIR="$HOME/.nvm" | |
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion | |
nvm install --lts && | |
npm i -g yarn && | |
eval 'export PATH="$PATH:$(yarn global bin)"' && | |
echo 'export PATH="$PATH:$(yarn global bin)"' >>$HOME/.zshrc && | |
sed -Ei "s/plugins=\(([^)]+)\)/plugins=\(\1 npm yarn\)/" $HOME/.zshrc | |
# nestjs and create-react-app CLIs | |
yarn global add @nestjs/cli create-react-app | |
# .debs (code, discord, chrome, reactotron) | |
deb_download_install() { | |
URL=$1 | |
PKG_SLUG=${2:-"pkg"} | |
echo "Downloading $PKG_SLUG..." && | |
curl -fsSL $URL >./$PKG_SLUG.deb && | |
echo "Installing $PKG_SLUG..." && | |
sudo apt install -qqfy ./$PKG_SLUG.deb && | |
echo "Removing .deb package of $PKG_SLUG..." && | |
rm ./$PKG_SLUG.deb | |
} | |
deb_download_install 'https://go.microsoft.com/fwlink/?LinkID=760868' vscode | |
deb_download_install 'https://discordapp.com/api/download?platform=linux&format=deb' discord | |
deb_download_install 'https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb' google-chrome-stable | |
deb_download_install 'https://github.com/infinitered/reactotron/releases/download/v2.17.1/reactotron-app_2.17.1_amd64.deb' reactotron-2.17.1 | |
## VSCode config | |
echo '"window.zoomLevel": 0, | |
"workbench.iconTheme": "material-icon-theme", | |
"workbench.colorTheme": "Monokai", | |
"editor.tabSize": 2, | |
"editor.fontSize": 14, | |
"editor.lineHeight": 24, | |
"editor.rulers": [80, 120], | |
"editor.formatOnSave": true, | |
"editor.fontLigatures": true, | |
"editor.fontFamily": "Fira Code", | |
"editor.suggestSelection": "first", | |
"terminal.integrated.fontSize": 14, | |
"files.eol": "\n", | |
"git.autofetch": true, | |
"liveshare.featureSet": "stable", | |
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue", | |
"tslint.packageManager": "yarn", | |
"eslint.packageManager": "yarn", | |
"eslint.validate": [ | |
"javascript", | |
"javascriptreact", | |
"typescript", | |
"typescriptreact" | |
], | |
"eslint.options": { | |
"extensions": [".js", ".jsx", ".ts", ".tsx"] | |
}, | |
"[markdown]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[jsonc]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[typescript]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[javascript]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[yaml]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[json]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}, | |
"[html]": { | |
"editor.defaultFormatter": "esbenp.prettier-vscode" | |
}' >$HOME/.config/Code/User/settings.json | |
code --install-extension naumovs.color-highlight \ | |
--install-extension ms-azuretools.vscode-docker \ | |
--install-extension mikestead.dotenv \ | |
--install-extension editorconfig.editorconfig \ | |
--install-extension dbaeumer.vscode-eslint \ | |
--install-extension waderyan.gitblame \ | |
--install-extension donjayamanne.githistory \ | |
--install-extension sidneys1.gitconfig \ | |
--install-extension codezombiech.gitignore \ | |
--install-extension eamodio.gitlens \ | |
--install-extension oderwat.indent-rainbow \ | |
--install-extension ms-vsliveshare.vsliveshare \ | |
--install-extension yzhang.markdown-all-in-one \ | |
--install-extension pkief.material-icon-theme \ | |
--install-extension william-voyek.vscode-nginx \ | |
--install-extension techer.open-in-browser \ | |
--install-extension quicktype.quicktype \ | |
--install-extension esbenp.prettier-vscode \ | |
--install-extension 2gua.rainbow-brackets \ | |
--install-extension ms-vscode-remote.vscode-remote-extensionpack \ | |
--install-extension rocketseat.rocketseatreactjs \ | |
--install-extension rocketseat.rocketseatreactnative \ | |
--install-extension gruntfuggly.todo-tree \ | |
--install-extension wayou.vscode-todo-highlight \ | |
--install-extension ms-vscode.vscode-typescript-tslint-plugin \ | |
--install-extension visualstudioexptteam.vscodeintellicode \ | |
--install-extension redhat.vscode-yaml | |
# flatpaks (DBeaver, Postman) | |
flatpak install -y 'https://flathub.org/repo/appstream/io.dbeaver.DBeaverCommunity.flatpakref' | |
flatpak install -y 'https://flathub.org/repo/appstream/com.getpostman.Postman.flatpakref' | |
# Hosts file entries | |
echo ' | |
# added by config.sh script | |
192.168.30.20 traefik.mobtelecom.com.br | |
192.168.30.20 swarmpit.mobtelecom.com.br | |
192.168.30.20 mailcatcher.mobtelecom.com.br | |
192.168.30.20 api-sapdev.mobtelecom.com.br | |
192.168.30.20 api-atrixdev.mobtelecom.com.br | |
192.168.30.20 service-adminsdev.mobtelecom.com.br | |
192.168.30.20 service-ticketsdev.mobtelecom.com.br | |
192.168.30.20 microservice-emaildev.mobtelecom.com.br | |
192.168.30.20 microservice-generate-pdfdev.mobtelecom.com.br | |
192.168.30.13 moi-vlcedkr-03.internal | |
192.168.30.15 moi-vlcedkr-04.internal | |
192.168.30.20 moi-vlcedkr-05.internal | |
192.168.30.21 moi-vlcedkr-06.internal | |
192.168.30.22 moi-vlcedkr-07.internal | |
192.168.30.24 unf-vldeapp-01.internal | |
192.168.30.113 moi-vlcedkr-08.internal | |
192.168.30.22 api.mobtelecom.com.br | |
192.168.30.22 apidev.mobtelecom.com.br | |
# 192.168.30.22 traefik.mobtelecom.com.br | |
192.168.30.22 docker.mobtelecom.com.br | |
192.168.30.22 portainer.mobtelecom.com.br | |
192.168.30.24 chatbot.mobtelecom.com.br | |
192.168.30.24 traefik.pdvm.local | |
# 192.168.30.35 traefik.mobtelecom.com.br | |
192.168.30.35 sap.mobtelecom.com.br | |
192.168.30.35 sapdev.mobtelecom.com.br | |
192.168.30.106 git.mobtelecom.local | |
192.168.30.113 minio.mobtelecom.internal | |
' | sudo tee -a /etc/hosts | |
# System update | |
sudo apt update -qm | |
sudo apt full-upgrade -qy | |
# Checks and reports | |
echo "Checking installed debs..." | |
for cmd in \ | |
tilix zsh git curl \ | |
docker docker-compose \ | |
nvm node yarn \ | |
nest create-react-app \ | |
code google-chrome discord reactotron-app; do | |
echo -n "$cmd... " && | |
which $cmd >/dev/null && echo -e "\e[0;32mInstalled\e[0m" || echo -e "\e[0;31mNot installed\e[0m" | |
done | |
echo "Checking installed flatpaks..." | |
for fpak in \ | |
'io.dbeaver.DBeaverCommunity/x86_64/stable' \ | |
'com.getpostman.Postman/x86_64/stable'; do | |
echo -n "$fpak... " && | |
flatpak list | grep -c $fpak >/dev/null && echo -e "\e[0;32mInstalled\e[0m" || echo -e "\e[0;31mNot installed\e[0m" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment