Skip to content

Instantly share code, notes, and snippets.

@chrisroos
Last active September 19, 2024 12:44
Show Gist options
  • Save chrisroos/6a873887662ad038fa681fe3cdf98db0 to your computer and use it in GitHub Desktop.
Save chrisroos/6a873887662ad038fa681fe3cdf98db0 to your computer and use it in GitHub Desktop.
# curl
sudo apt install -y curl

# 1Password - https://support.1password.com/install-linux/#debian-or-ubuntu
curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/keyrings/1password-archive-keyring.gpg
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] https://downloads.1password.com/linux/debian/amd64 stable main' | sudo tee /etc/apt/sources.list.d/1password.list
sudo mkdir -p /etc/debsig/policies/AC2D62742012EA22/
curl -sS https://downloads.1password.com/linux/debian/debsig/1password.pol | sudo tee /etc/debsig/policies/AC2D62742012EA22/1password.pol
sudo mkdir -p /usr/share/debsig/keyrings/AC2D62742012EA22
curl -sS https://downloads.1password.com/linux/keys/1password.asc | sudo gpg --dearmor --output /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg
sudo apt update && sudo apt install -y 1password
# Configure 1password to allow ssh access/keys in Settings > Developer.

# Firefox
# Sign in to Mozilla account
# Copy Containerise rules

# joplin
# Pre-requisite on Ubuntu 24.04
# https://github.com/AppImage/AppImageKit/wiki/FUSE#install-fuse
sudo add-apt-repository universe
sudo apt install -y libfuse2t64

# https://joplinapp.org/help/install/
wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash
# I currently see the following warning. Is it anything to worry about?
# WARNING Electron sandboxing disabled.
# See https://discourse.joplinapp.org/t/32160/5 for details. 

# vim
sudo apt install -y vim

# https://git-scm.com/download/linux
sudo apt install -y git gitk
# git bash completion script
curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

# https://github.com/direnv/direnv
sudo apt install -y direnv

# https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
sudo apt-get install ca-certificates
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER # Add user to docker group

# https://github.com/rbenv/rbenv
sudo apt install -y rbenv

# https://tailscale.com/download/
curl -fsSL https://tailscale.com/install.sh | sh

# ruby-build dependencies - https://github.com/rbenv/ruby-build/wiki#ubuntudebianmint
sudo apt install -y autoconf patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev

# ruby-build
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

# jq - https://jqlang.github.io/jq/
sudo apt install -y jq

# postgresql - https://www.postgresql.org/download/linux/ubuntu/
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
sudo apt install -y postgresql-16 postgresql-client-16 libpq-dev postgresql-server-dev-16

# chromium and chromedriver - for rails system tests with selenium-webdriver
sudo apt install -y chromium-chromedriver

# Go for MailHog - https://github.com/mailhog/MailHog
sudo apt install -y golang-go

# libvips for Active Storage in Rails 7+ - https://www.libvips.org/install.html
sudo apt install -y libvips

# age for encrypting/decrupting secrets on the command line - https://github.com/FiloSottile/age
sudo apt install -y age

# ripgrep (rg) - https://github.com/BurntSushi/ripgrep
sudo apt install -y ripgrep

# nginx
sudo apt install -y nginx

# Install aws cli - https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
cd /tmp
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

# Install heroku cli -https://devcenter.heroku.com/articles/heroku-cli#standalone-installation-with-a-tarball
curl https://cli-assets.heroku.com/install.sh | sh

# Install docker-compose
sudo curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# Install nvm - https://github.com/nvm-sh/nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash

# Install MailHog
go install github.com/mailhog/MailHog@latest

# Install GitUI - https://github.com/extrawurst/gitui
cd /tmp
wget https://github.com/extrawurst/gitui/releases/download/v0.25.2/gitui-linux-musl.tar.gz
tar -xzf gitui-linux-musl.tar.gz
sudo mv gitui /usr/local/bin/
  
# Install asdf - https://asdf-vm.com/guide/getting-started.html
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0

# Create postgresql user
sudo -u postgres createuser -s $USER

# Simple Screen Recorder - https://www.maartenbaert.be/simplescreenrecorder/#download
sudo apt install -y simplescreenrecorder

# Install dotfiles
mkdir -p ~/code/chrisroos
cd ~/code/chrisroos
git clone git@github.com:chrisroos/dotfiles
cd dotfiles
./install

# Slack
snap install slack

# Skype
snap install skype

# Flameshot - https://flameshot.org/#download
sudo apt install -y flameshot

# Mozilla VPN - https://support.mozilla.org/en-US/kb/how-install-mozilla-vpn-linux-computer
sudo add-apt-repository ppa:mozillacorp/mozillavpn 
sudo apt-get update
sudo apt-get install -y mozillavpn

# Install Ruby
rbenv install 3.3.4

# Install node
nvm install node

# Install appimagelauncher - https://github.com/TheAssassin/AppImageLauncher
cd /tmp
wget -O appimagelauncher.deb "https://github.com/TheAssassin/AppImageLauncher/releases/download/v2.2.0/appimagelauncher_2.2.0-travis995.0f91801.bionic_amd64.deb"
sudo apt install ./appimagelauncher.deb

# Cider
# Sign in to itch.io and then visit https://cidercollective.itch.io/cider to download the .deb
cd /tmp
mv ~/Downloads/Cider-linux-debian-x64.deb .
sudo apt install ./Cider-linux-debian-x64.deb

# Wine - https://wiki.winehq.org/Ubuntu
# There isn't currently a winehq-stable version for Ubuntu 24.04 so I'm installing from the Ubuntu packages instead
sudo apt install --install-recommends -y wine

# WineGUI - https://gitlab.melroy.org/melroy/winegui/-/releases
cd /tmp
wget -O winegui.deb "https://winegui.melroy.org/downloads/WineGUI-v2.5.0.deb"
sudo apt install ./winegui.deb

# Avoid error running Reolink under Wine
# 0408:err:winediag:ntlm_check_version ntlm_auth was not found. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
sudo apt install -y winbind

# VirtualBox - https://www.virtualbox.org/wiki/Downloads
cd /tmp
wget -O vbox.deb "https://download.virtualbox.org/virtualbox/7.0.20/virtualbox-7.0_7.0.20-163906~Ubuntu~noble_amd64.deb"
sudo apt install -y ./vbox.deb

# Visual Studio Code
cd /tmp
wget -O vscode.deb "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64"
sudo apt install -y ./vscode.deb

# Flathub - https://flathub.org/setup/Ubuntu
sudo apt install flatpak
sudo apt install gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

# Firewall
sudo ufw enable

# Multipass
snap install multipass

# Libre Office
sudo apt install libreoffice

# VLC - https://www.videolan.org/vlc/download-ubuntu.html
% sudo snap install vlc

# Syncthing - https://apt.syncthing.net/
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing

# tmux
sudo apt install tmux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment