#!/bin/bash echo "This script requires superuser access to install software." echo "You will be prompted for your password by sudo." sudo echo "Superuser access granted." # Install base packages sudo apt update sudo apt install -y \ emacs-nox procps file \ build-essential tmux \ git zsh curl wget \ python3 python3-pip python3-venv \ apt-transport-https ca-certificates gnupg # Install homebrew NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Set up env test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)" test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.bash_profile echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" > ~/.setup # Install brew packages brew update brew install \ autojump just yarn \ awscli \ golang kubectl gh thefuck \ typescript jq # Install Rust and Cargo curl https://sh.rustup.rs -sSf | sh -s -- -y # Install NVM curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm # Install npm nvm install node # Install gcloud curl https://sdk.cloud.google.com | bash -s -- --disable-prompts # Install azure CLI curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash # Install vscode curl https://go.microsoft.com/fwlink/?LinkID=760868 -o vscode.deb sudo dpkg -i vscode.deb rm vscode.deb # Install vscode extensions code --install-extension dbaeumer.vscode-eslint \ --install-extension eamodio.gitlens \ --install-extension GitHub.vscode-pull-request-github \ --install-extension streetsidesoftware.code-spell-checker \ --install-extension ms-azuretools.vscode-docker \ --install-extension ms-python.python \ --install-extension ms-python.vscode-pylance \ --install-extension ms-toolsai.jupyter \ --install-extension ms-toolsai.jupyter-keymap \ --install-extension ms-toolsai.jupyter-renderers \ --install-extension redhat.ansible \ --install-extension redhat.vscode-yaml \ --install-extension skellock.just \ --install-extension esbenp.prettier-vscode \ --install-extension matteopieroni.refresh-npm-packages \ --install-extension mikestead.dotenv \ --install-extension mhutchie.git-graph \ --install-extension ms-vscode.live-server \ --install-extension oderwat.indent-rainbow \ --install-extension bierner.markdown-preview-github-styles \ --install-extension richie5um2.vscode-sort-json \ --install-extension mikestead.dotenv \ --install-extension tuttieee.emacs-mcx # Install pipx and related packages export PATH="$PATH:$HOME/.local/bin" python3 -m pip install pipx pipx install ansible --include-deps pipx install krait pipx install black pipx install flake8 pipx install mypy pipx install poetry # Add the setup script curl -fsSL https://gist.githubusercontent.com/taliamax/935b963d8d838a16e851ab79d7d624ae/raw/.setup >> ~/.setup # Install snap packages sudo snap install teams sudo snap install discord sudo snap install spotify # Install ohmyzsh sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended # Install zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting # Install zsh-autocompletions git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions echo "" >> ~/.setup # tmux colour config echo 'set -g default-terminal "screen-256color"' >> ~/.tmux.conf # Set up ssh keys ssh-keygen -t ed25519 -b 512 -f ~/.ssh/id_ed25519 ssh-add ~/.ssh/id_ed25519 gh auth login -p ssh -w -h https://github.com gh ssh-key add ~/.ssh/id_ed25519.pub --title="$(whoami)@$(hostname)"