Skip to content

Instantly share code, notes, and snippets.

@tlesh989
Last active February 15, 2020 14:18
Show Gist options
  • Save tlesh989/fc975759001468657c8780159a580280 to your computer and use it in GitHub Desktop.
Save tlesh989/fc975759001468657c8780159a580280 to your computer and use it in GitHub Desktop.
Ubuntu laptop setup, work in progress
#! /usr/bin/env bash
sudo add-apt-repository ppa:stebbins/handbrake-releases -y
sudo add-apt-repository ppa:oibaf/graphics-drivers -y
sudo sh -c 'echo "deb http://archive.canonical.com/ubuntu/ bionic partner" >> \
/etc/apt/sources.list.d/canonical_partner.list'
sudo add-apt-repository ppa:ubuntu-desktop/ppa -y
sudo add-apt-repository ppa:nilarimogard/webupd8 -y
sudo add-apt-repository ppa:videolan/stable-daily -y
sudo apt-add-repository ppa:fish-shell/release-3 -y
sudo add-apt-repository ppa:git-core/ppa -y
sudo add-apt-repository ppa:ansible/ansible -y
sudo apt update
sudo apt upgrade -y
sudo apt install -y tlp tlp-rdw powertop ansible gimp \
build-essential wget curl file git chromium-browser \
python3 vlc fish nautilus-dropbox python-pip gcc g++ \
make chrome-gnome-shell ubuntu-restricted-extras \
libavcodec-extra ffmpeg p7zip-full p7zip-rar \
libfreerdp-plugins-standard gnome-tweak-tool \
kazam gnome-software-plugin-flatpak neofetch \
libatk-adaptor libgail-common libcanberra-gtk-module \
direnv powerline
sudo apt install --install-recommends handbrake-gtk -y
sudo snap install spotify
sudo snap install code --classic
sudo snap install discord --classic
sudo snap install slack --classic
sudo apt install flatpak gnome-software-plugin-flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# set Git global config and aliases
git config --global user.name 'Tom Lesh'
git config --global user.email 'thomas.lesh@gmail.com'
git config --global color.ui true
git config --global core.editor '/usr/bin/nano'
git config --global core.filemode false
git config --global alias.logo 'log --oneline --graph --decorate'
git config --global alias.unstage 'reset HEAD --'
# install Docker CE
sudo apt-get update -y && \
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" && \
sudo apt-get update -y && \
sudo apt-get install docker-ce -y
sudo usermod -aG docker $USER
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
# install Docker Compose
sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose && \
sudo chmod +x /usr/local/bin/docker-compose
# install node, npm
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install nodejs -y
# install the Yarn package manager
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
# ttf-mscorefonts-installer
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo apt install ttf-mscorefonts-installer -y
# setup visual studio code
code --install-extension redhat.vscode-yaml && \
code --install-extension vscoss.vscode-ansible
# gnome extensions
## caffeine
cd /tmp
git clone git://github.com/eonpatapon/gnome-shell-extension-caffeine.git
cd gnome-shell-extension-caffeine
./update-locale.sh
glib-compile-schemas --strict --targetdir=caffeine@patapon.info/schemas/ caffeine@patapon.info/schemas
cp -r caffeine@patapon.info ~/.local/share/gnome-shell/extensions
## dash-to-panel
cd /tmp
git clone https://github.com/home-sweet-gnome/dash-to-panel.git
cd dash-to-panel
make install
cd
## extension update notifier
cd /tmp
git clone https://github.com/franglais125/update-extensions.git
cd update-extensions
make install
cd
## bing wallpaper updater
git clone https://github.com/neffo/bing-wallpaper-gnome-extension.git $HOME/.local/share/gnome-shell/extensions/BingWallpaper@ineffable-gmail.com
gnome-shell-extension-tool -e user-theme
gnome-shell-extension-tool -e dash-to-panel
gnome-shell-extension-tool -e caffeine
gnome-shell-extension-tool -e update-extensions
gnome-shell-extension-tool -e bing-wallpaper-gnome-extension
## gnome tweaks
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
gsettings set org.gnome.shell.extensions.dash-to-dock extend-height false
gsettings set org.gnome.shell.extensions.dash-to-dock dock-position LEFT
gsettings set org.gnome.shell.extensions.dash-to-dock transparency-mode FIXED
gsettings set org.gnome.shell.extensions.dash-to-dock dash-max-icon-size 48
gsettings set org.gnome.shell.extensions.dash-to-dock unity-backlit-items true
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false
gsettings set org.gnome.shell favorite-apps "['nautilus.desktop', 'firefox.desktop', 'gnome-terminal.desktop', 'code.desktop', 'spotify.desktop']"
gsettings set org.gnome.desktop.interface clock-show-date true
gsettings set org.gnome.desktop.interface clock-format '12h'
# autoclean and autoremove
sudo apt-get autoclean -y && sudo apt-get autoremove -y
# setup fish shell
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
chsh -s /usr/bin/fish
mkdir -p ~/.config/fish
touch ~/.config/fish/config.fish
curl -L https://get.oh-my.fish | fish
echo 'set fish_greeting' >> ~/.config/fish/config.fish
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment