Last active
May 25, 2024 02:22
-
-
Save fredcamps/8de606797a145c60034c9b99b84c64b0 to your computer and use it in GitHub Desktop.
My development environment installation
This file contains hidden or 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 | |
sudo apt-get update | |
# kernel | |
sudo apt-get install -y linux-lowlatency linux-tools-lowlatency grub-customizer | |
# extra packages management | |
sudo rm -rf /etc/apt/preferences.d/nosnap.pref | |
sudo apt-get install -y snapd snapcraft | |
# common development libraries dependencies | |
sudo apt-get install -y bison libxml2-dev libbz2-dev libmcrypt-dev \ | |
libreadline-dev libxslt1-dev libicu-dev libdbus-1-dev libssl-dev | |
# common build tools | |
sudo apt-get install -y autoconf automake build-essential cmake ctags global libtool libtool-bin | |
# network tools | |
sudo apt-get install -y openvpn-systemd-resolved openvpn libnss-resolve | |
# network tools kde | |
sudo apt-get install -y network-manager-openvpn | |
# network tool gnome | |
# sudo apt-get install -y network-manager-openvpn-gnome | |
# nordvpn | |
sudo bash -c 'cd /etc/openvpn/ && wget https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip && rm -rf ovpn.zip' | |
# Linuxbrew | |
git clone https://github.com/Homebrew/brew ~/.linuxbrew/Homebrew | |
mkdir -p ~/.linuxbrew/bin && ln -sf ~/.linuxbrew/Homebrew/bin/brew ~/.linuxbrew/bin |
This file contains hidden or 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 | |
VAGRANT_VERSION="2.2.7" | |
# docker | |
if [ ! -f "$(which docker)" ]; then | |
echo "<< installing docker" | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | |
# linux mint | |
sudo su -c "echo \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo $UBUNTU_CODENAME) stable\" > \ | |
/etc/apt/sources.list.d/docker-releases.list" | |
# ubuntu | |
# sudo su -c "echo \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" > \ | |
# /etc/apt/sources.list.d/docker-releases.list" | |
sudo apt-get update ; sudo apt-get install docker-ce ; | |
sudo gpasswd -a "${USER}" docker | |
pipx install docker-compose | |
fish -c 'fisher add brgmnn/fish-docker-compose' | |
echo "<< installing docker [end]" | |
fi | |
# vagrant | |
if [ ! -f "$(which vagrant)" ]; then | |
echo "<< installing vagrant" | |
sudo apt-get install -y \ | |
virtualbox virtualbox-ext-pack virtualbox-dkms virtualbox-guest-x11 virtualbox-guest-source virtualbox-guest-utils virtualbox-qt | |
wget "https://releases.hashicorp.com/vagrant/${VAGRANT_VERSION}/vagrant_${VAGRANT_VERSION}_$(uname -p).deb" && \ | |
sudo dpkg -i "vagrant_${VAGRANT_VERSION}_$(uname -p).deb" && rm -rf "vagrant_${VAGRANT_VERSION}_$(uname -p).deb" | |
echo "<< installing vagrant [end]" | |
fi |
This file contains hidden or 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 | |
BACK_DIR="${pwd}" | |
ASDF_VERSION="0.14.0" | |
# All-in-One version manager | |
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch "v${ASDF_VERSION}" | |
echo -e "source \"$HOME/.asdf/asdf.fish\"" > ~/.config/fish/conf.d/asdf.fish | |
mkdir -p ~/.config/fish/completions; cp ~/.asdf/completions/asdf.fish ~/.config/fish/completions | |
mkdir -p ~/.asdf/shims | |
asdf plugin add nodejs | |
asdf plugin add python | |
asdf plugin add rust | |
asdf plugin add ruby | |
asdf plugin add golang | |
asdf plugin add java | |
bash "${HOME}/.asdf/plugins/nodejs/bin/import-release-team-keyring" | |
brew install jq | |
# python | |
sudo apt-get install --reinstall python3-dev python3-pip python3-venv | |
python3 -m pip install --user pipx | |
pipx install virtualfish | |
pipx install jedi-language-server | |
asdf install python "$(asdf list all python | grep -v "[a-z]" | grep "^[0-9]" | sort | tail -n1)" | |
asdf global python "$(asdf list python | head -n1 | awk '{$1=$1};1')" | |
pip install --upgrade pip | |
pip install poetry ipython | |
# javascript | |
asdf install nodejs "$(asdf list all nodejs | tail -n1)" | |
asdf global nodejs "$(asdf list rust | tail -n1 | awk '{$1=$1};1')" | |
npm -i -g trepan-ni ts-node typescript javascript-typescript-langserver tsun | |
# rust | |
asdf install rust "$(asdf list all rust | tail -n1)" | |
asdf global rust "$(asdf list rust | tail -n1 | awk '{$1=$1};1')" | |
rustup update | |
rustup component add rls rust-analysis rust-src | |
curl -L https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/rust-analyzer-linux -o ~/.local/bin/rust-analyzer | |
chmod +x ~/.local/bin/rust-analyzer | |
# java | |
asdf install java "$(asdf list all java | grep "openjdk-[0-9][0-9]" | grep -v openj9 | sort | tail -n1)" | |
asdf global java "$(asdf list java | tail -n1 | awk '{$1=$1};1')" | |
# ruby | |
asdf install ruby "$(asdf list all ruby | grep -v [a-z] | sort | tail -n1)" | |
asdf global ruby "$(asdf list ruby | tail -n1 | awk '{$1=$1};1')" | |
# golang | |
asdf install golang "$(asdf list all golang | grep -v [a-z] | tail -n1)" | |
asdf global golang "$(asdf list golang | tail -n1 | awk '{$1=$1};1')" | |
# c/cpp | |
echo "<< installing clang" | |
sudo apt-get install -y libclang-9-dev clangd-9 clang-9 clang-tidy-9 cde | |
brew install conan | |
conan remote add conan-center https://conan.bintray.com | |
conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan | |
conan remote add conan-community https://api.bintray.com/conan/conan-community/conan | |
echo "<< installing clang [end]" |
This file contains hidden or 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 | |
# shell | |
sudo apt-get install shellcheck | |
if [ ! -f "$(which fish)" ]; then | |
echo "<< installing fish" | |
sudo apt-get install -y fish | |
curl -L https://get.oh-my.fish | fish | |
fish -c 'omf install asdf' | |
fish -c 'omf install colored-man-pages' | |
fish -c 'omf install foreign-env' | |
fish -c 'omf install grc' | |
fish -c 'omf install license' | |
fish -c 'omf install linuxbrew' | |
fish -c 'omf install https://github.com/laughedelic/brew-completions' | |
fish -c 'omf install notify' | |
fish -c 'omf install sudope' | |
fish -c 'omf install taktoa' | |
fish -c 'omf install z' | |
wget https://gitlab.com/kyb/fish_ssh_agent/raw/master/functions/fish_ssh_agent.fish -P ~/.config/fish/functions/ | |
curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish | |
fish -c 'fisher install franciscolourenco/done' | |
fish -c 'fisher install edc/bass' | |
wget http://kassiopeia.juls.savba.sk/~garabik/software/grc/grc_1.11.3-1_all.deb && sudo dpkg -i grc_1.11.3-1_all.deb && rm -rf grc_1.11.3-1_all.deb | |
echo "<< installing fish [end]" | |
fi |
This file contains hidden or 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 | |
# keylock indicator | |
sudo add-apt-repository ppa:tsbarnes/indicator-keylock | |
sudo apt-get update | |
sudo apt-get install -y indicator-keylock | |
# unzip | |
sudo apt-get install -y unzip | |
# git flow | |
sudo apt-get install -y git-flow | |
fish -c 'omf install git-flow' | |
# aws client | |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "/tmp/awscliv2.zip" | |
unzip /tmp/awscliv2.zip && sudo ./aws/install && rm -rf ./aws | |
fish -c 'omf install aws' | |
# markdown support | |
sudo apt-get install -y markdown | |
# system activity monitor | |
pipx install glances | |
# terminal tools | |
sudo apt-get install -y tmux tree xclip silversearcher-ag | |
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm | |
snap install --classic ripgrep | |
pipx install doitlive | |
# clipboard history for gnome and derivatives | |
sudo apt-get install -y libgpaste-dev | |
# world_clock/timer/alarm app | |
sudo apt-get install gnome-clocks | |
# emacs | |
sudo add-apt-repository ppa:kelleyk/emacs && sudo apt-get update | |
# sudo apt-get build-dep --no-install-recommends emacs | |
sudo apt-get install -y emacs | |
# autoload env vars from .envrc | |
sudo apt-get install -y direnv | |
# brave browser | |
curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | sudo apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - | |
echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list | |
sudo apt update | |
sudo apt install brave-browser | |
# install android emulator | |
sudo add-apt-repository ppa:morphis/anbox-support | |
sudo apt-get update | |
sudo apt-get install -y anbox-modules-dkms | |
snap install --beta --devmode anbox | |
sudo modprobe ashmem_linux | |
sudo modprobe binder_linux | |
sudo apt-get install -y lzip | |
wget https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh | |
chmod +x install-playstore.sh | |
sudo /snap/anbox/current/bin/anbox-bridge.sh restart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment