2019-11-22 22:58:28 +00:00
#!/usr/bin/env bash
2019-12-01 16:21:08 +00:00
#cask "iterm2"
2019-08-11 19:44:01 +00:00
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
yum -y install https://zoom.us/client/latest/zoom_x86_64.rpm
2019-08-14 14:38:44 +00:00
# Install Development Tools
sudo yum group -y install "Development Tools"
2019-08-11 19:44:01 +00:00
# Visual Studio Code
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
## Update package cache
yum check-update
yum install dnf -y
dnf check-update
sudo dnf install -y code
# Enable EPEL repository
sudo yum -y install epel-release
# PGAdmin
yum -y install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
yum -y install pgadmin4
# Network tools
yum -y install net-tools lsof iproute nmap
# Mindmap Editor
2019-08-15 08:26:43 +00:00
yum -y install https://www.xmind.net/xmind/downloads/XMind-ZEN-for-Linux-64bit.rpm
# VideoLAN
2019-08-11 19:44:01 +00:00
sudo yum -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum -y install vlc
# Browser
yum -y install firefox
# Fonts
# clone
git clone https://github.com/powerline/fonts.git --depth= 1
# install
2019-12-01 16:21:08 +00:00
cd fonts || exit
2019-08-11 19:44:01 +00:00
./install.sh
# clean-up a bit
2019-12-01 16:21:08 +00:00
cd .. || exit
2019-08-11 19:44:01 +00:00
rm -rf fonts
# Install ZSH
sudo yum -y install zsh
2020-02-15 14:16:45 +00:00
curl https://raw.githubusercontent.com/git-ftp/git-ftp/master/git-ftp >/bin/git-ftp
2019-08-11 19:44:01 +00:00
# Install git-ftp
chmod 755 /bin/git-ftp
# Install Golang
yum install golang golang-godoc golang-vet golang-src golang-pkg-linux-amd64 -y
2020-02-15 14:16:45 +00:00
echo " export GOPATH=\" $HOME /go\" " >>~/.zshrc
echo " export PATH=\" $GOPATH /bin: $PATH \" " >>~/.zshrc
2020-07-12 14:19:25 +00:00
. " $HOME /.zshrc "
2019-08-11 19:44:01 +00:00
# Install Hugo
2019-11-22 22:58:28 +00:00
mkdir " $HOME /src "
2019-12-01 16:21:08 +00:00
cd " $HOME /src " || exit
2019-08-11 19:44:01 +00:00
git clone https://github.com/gohugoio/hugo.git
2019-12-01 16:21:08 +00:00
cd hugo || exit
2019-08-11 19:44:01 +00:00
go install --tags extended
2019-12-01 16:21:08 +00:00
cd " $HOME " || exit
2019-08-11 19:44:01 +00:00
# Inet utils
yum -y install telnet ftp rsh traceroute
# FTP UI
yum -y install filezilla
2020-07-11 10:25:30 +00:00
~/.scripts/sdkmandeps.sh
2019-08-11 19:44:01 +00:00
# Install Plantuml
2020-02-15 14:16:45 +00:00
curl -L http://sourceforge.net/projects/plantuml/files/plantuml.jar/download -o /usr/local/bin/plantuml.jar &&
2020-07-12 14:19:25 +00:00
echo 'java -jar /usr/local/bin/plantuml.jar $@' >/usr/local/bin/plantuml &&
chmod +x /usr/local/bin/plantuml
2019-08-11 19:44:01 +00:00
# Using pyenv to be able to install specific python versions https://stackoverflow.com/questions/49794432/how-to-setup-a-pipenv-python-3-6-project-if-os-python-version-is-3-5
curl https://pyenv.run | bash
2020-02-15 14:16:45 +00:00
echo " export PYENV_ROOT=\" $HOME /.pyenv\" " >>~/.zshrc
echo " export PATH=\" $PYENV_ROOT /bin: $PATH \" " >>~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >>~/.zshrc
2019-08-11 19:44:01 +00:00
source ~/.zshrc
yum -y install git gcc zlib-devel bzip2-devel readline-devel sqlite-devel openssl-devel
# Install Python 3
pyenv install 3.7.3
pyenv global 3.7.3
2020-02-15 14:16:45 +00:00
ln -snf /root/.pyenv/versions/3.7.3/bin/python /usr/bin/python3.7
2019-08-11 19:44:01 +00:00
# ripgrep
sudo yum-config-manager --add-repo= https://copr.fedorainfracloud.org/coprs/carlwgeorge/ripgrep/repo/epel-7/carlwgeorge-ripgrep-epel-7.repo
sudo yum -y install ripgrep
# chezmoi : dotfiles manager
curl -sfL https://git.io/chezmoi | sh && ln -snf " $( pwd ) /bin/chezmoi " /usr/local/bin/chezmoi
yum -y install tmux
yum -y install nodejs
# Fasd (pronounced similar to "fast") is a command-line productivity booster. https://github.com/clvv/fasd
sudo yum -y install fasd
# Simplistic interactive filtering tool https://github.com/peco/peco
2020-02-22 15:31:41 +00:00
go get -u -v github.com/peco/peco/cmd/peco
go get -u -v github.com/jessfraz/dockfmt
go get -u -v github.com/dmlittle/scenery
go get -u -v github.com/camptocamp/terraboard
2019-08-11 19:44:01 +00:00
# Tig is an ncurses-based text-mode interface for git.
yum -y install tig
pip install mackup
# Lynx is a fully featured World-Wide Web browser for terminal users. https://invisible-island.net/lynx/
yum -y install lynx
yum -y install colordiff
# Proxy server that works as a poor man's VPN
yum -y install sshuttle
yum -y install ansible
# Prepare lsd install
yum -y install cargo
# Next gen ls command https://github.com/Peltoche/lsd
cargo install lsd
2020-02-15 14:16:45 +00:00
echo 'export PATH="/root/.cargo/bin:$PATH"' >>~/.zshrc
2019-08-11 19:44:01 +00:00
source ~/.zshrc
# Prepare swipl install
2019-08-14 22:13:45 +00:00
yum -y install epel-release
yum groupinstall -y "Development Tools"
2020-02-15 14:16:45 +00:00
yum -y install ninja-build libunwind freetype-devel gmp-devel java-1.8.0-openjdk-devel jpackage-utils libICE-devel libjpeg-turbo-devel libSM-devel libX11-devel libXaw-devel libXext-devel libXft-devel libXinerama-devel libXmu-devel libXpm-devel libXrender-devel libXt-devel ncurses-devel openssl-devel pkgconfig readline-devel libedit-devel unixODBC-devel zlib-devel uuid-devel libarchive-devel libyaml-devel
2019-08-14 22:13:45 +00:00
## Prepare cmake3 install
#pyenv install 3.6.0
#ln -snf /root/.pyenv/versions/3.6.0/bin/python /usr/bin/python3.6
#yum -y install python36 # because pyenv installs python in a way that do not help installing cmake3
yum -y install cmake3 && ln -snf /usr/bin/cmake3 /usr/bin/cmake
git clone --depth 1 https://github.com/SWI-Prolog/swipl.git && cd swipl && git submodule update --init && mkdir build && cd build
cmake3 -DCMAKE_BUILD_TYPE= Release -DCMAKE_INSTALL_PREFIX= /usr -G Ninja ..
ninja-build install
# Now SWI-Prolog is ready, let's install logtalk
yum -y install https://logtalk.org/files/logtalk-3.28.0-1.noarch.rpm
# Logtalk should be available at /usr/local/share/ , for instance you can launch logtalk with swipl integration, using /usr/local/share/logtalk-3.28.0-stable/integration/swilgt.sh
2019-08-14 14:38:44 +00:00
# Prepare terraform install
yum -y install jq wget
tf_current_version = $( curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r -M '.current_version' )
wget $( echo " https://releases.hashicorp.com/terraform/ ${ tf_current_version } /terraform_ ${ tf_current_version } _linux_amd64.zip " )
unzip " terraform_ ${ tf_current_version } _linux_amd64.zip "
sudo mv -v terraform /usr/local/bin/
rm -f " terraform_ ${ tf_current_version } _linux_amd64.zip "
yum -y install htop
yum -y install moreutils
yum -y install asciidoc
git clone https://github.com/alexanderepstein/Bash-Snippets
cd Bash-Snippets
git checkout v1.22.1
./install.sh all
rm -rf Bash-Snippets
2019-11-22 22:58:28 +00:00
cd " $HOME "
2019-08-15 08:03:27 +00:00
# Install googler https://github.com/jarun/googler#installation
sudo curl -o /usr/local/bin/googler https://raw.githubusercontent.com/jarun/googler/v3.9/googler && sudo chmod +x /usr/local/bin/googler
2019-08-15 08:26:43 +00:00
# Install BAT (cat with more power)
2020-02-15 14:16:45 +00:00
wget https://github.com/sharkdp/bat/releases/download/v0.11.0/bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
2020-07-12 14:19:25 +00:00
tar -xzvf bat-v0.11.0-x86_64-unknown-linux-musl.tar.gz &&
mv bat-v0.11.0-x86_64-unknown-linux-musl/bat /usr/local/bin/ &&
rm -rf bat-v0.11.0-x86_64-unknown-linux-musl*
2019-08-15 08:26:43 +00:00
# Install fselect
cargo install fselect
2019-08-15 09:19:11 +00:00
# surfraw
2020-02-15 14:16:45 +00:00
git clone --depth 1 https://gitlab.com/surfraw/Surfraw.git &&
2020-07-12 14:19:25 +00:00
cd Surfraw &&
./prebuild &&
./configure &&
make && make install &&
cd .. &&
rm -rf Surfraw
2019-08-16 12:52:20 +00:00
# Dictionary
yum -y install dictd
2019-08-16 14:57:01 +00:00
# Add prettyping
yum -y install prettyping
2019-08-16 15:41:09 +00:00
# Glances + nmon for monitoring
yum -y install nmon glances
2019-08-16 16:01:12 +00:00
# Install Fuzzy finder
2019-08-16 22:05:37 +00:00
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
yes | ~/.fzf/install
2019-12-01 16:21:08 +00:00
#exec "$SHELL"
2019-08-16 22:15:27 +00:00
# Install diff-so-fancy
2020-02-15 14:16:45 +00:00
curl https://raw.githubusercontent.com/so-fancy/diff-so-fancy/master/third_party/build_fatpack/diff-so-fancy >/usr/local/bin/diff-so-fancy && chmod +x /usr/local/bin/diff-so-fancy
2019-08-16 22:24:10 +00:00
# Install nice disk usage
yum -y install ncdu
2019-08-16 22:30:25 +00:00
# Install tldr alternative to help
2020-02-15 14:16:45 +00:00
curl https://raw.githubusercontent.com/raylee/tldr/master/tldr >/usr/local/bin/tldr && chmod +x /usr/local/bin/tldr
2019-08-17 13:53:20 +00:00
# Add pandoc
yum -y install pandoc
2019-08-17 20:26:53 +00:00
# Add shellcheck
yum -y install ShellCheck
2019-08-18 08:03:23 +00:00
# Add spell checker + english dictionary
yum -y install aspell aspell-en
2019-08-18 18:42:45 +00:00
# Add neofetch repository
curl -o /etc/yum.repos.d/konimex-neofetch-epel-7.repo https://copr.fedorainfracloud.org/coprs/konimex/neofetch/repo/epel-7/konimex-neofetch-epel-7.repo
# Install neofetch to display system info nicely
yum -y install neofetch
2019-12-01 16:21:08 +00:00
cargo install nu
2020-02-15 14:16:45 +00:00
cat <<EOF >/etc/yum.repos.d/kubernetes.repo
2019-12-01 16:21:08 +00:00
[ kubernetes]
name = Kubernetes
baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled = 1
gpgcheck = 1
repo_gpgcheck = 1
gpgkey = https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
# Install the harbottle-main repo
sudo yum -y install https://harbottle.gitlab.io/harbottle-main/7/x86_64/harbottle-main-release.rpm
yum -y install kubectx
# Install packer
packer_version = 1.4.5
curl -L -o /tmp/packer.zip https://releases.hashicorp.com/packer/${ packer_version } /packer_${ packer_version } _linux_amd64.zip
cd /usr/local/bin && unzip -o /tmp/packer.zip && rm -f /tmp/packer.zip
yum -y install weechat tflint
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.35.0/ktlint && chmod a+x ktlint
# you can also download ktlint manually from https://github.com/pinterest/ktlint/releases
# another option is "brew install ktlint"
# verify PGP signature (optional but recommended)
curl -sS https://keybase.io/pinterestandroid/pgp_keys.asc | gpg --import
curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.35.0/ktlint.asc
gpg --verify ktlint.asc
git clone https://github.com/getzola/zola.git
cd zola
cargo build --Release
yum install -y https://github.com/vmware/octant/releases/download/v0.9.1/octant_0.9.1_Linux-64bit.rpm && yum clean all
yum -y install bc
git clone https://github.com/fcambus/ansiweather.git
git clone https://github.com/datawire/telepresence.git && cd telepresence
env PREFIX = /usr/local ./install.sh
2020-02-22 15:31:41 +00:00
wget https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz
tar xf kubeval-linux-amd64.tar.gz
sudo cp kubeval /usr/local/bin