Skip to content

Instantly share code, notes, and snippets.

@IslamAlam
Last active December 8, 2019 16:06
Show Gist options
  • Save IslamAlam/75e519b30e012d06d16e5593cc9c7e9f to your computer and use it in GitHub Desktop.
Save IslamAlam/75e519b30e012d06d16e5593cc9c7e9f to your computer and use it in GitHub Desktop.
Effortless and Simple Post Install Script for Ubuntu, Linux Mint, Debian, Elementary-OS & derivatives ubuntu-post-install

Install your choice of Ubuntu/Debian/Mint or its derivative as you would

Step 1: Get the script

Without Git

Run this in Terminal

With Git

If you already have git on your system, you can use,

git clone https://github.com/IslamAlam/ubuntu-post-install.git && cd ubuntu-post-install

Step 2: Update the lists or your YAML configuration file

You can write your own config file

Step 3: Run the script

Run the script as root.

  • To use YAML configuration for Elementary-OS.

Local YAML File

sudo bash ./after-effects --autopilot -d --config-file ./config/elementary-os.yml

Github Gist YAML File

sudo bash ./after-effects --autopilot --remote-yaml https://gist.githubusercontent.com/IslamAlam/75e519b30e012d06d16e5593cc9c7e9f/raw/fb514313cdebdbd228747ed319476b7c5f08ff0a/elementary-os.yml
# Install Config
api: 2
name: Polaris
author: Islam Mansour
# Configuration
config:
# Enabled Tasks
tasks:
update: true
upgrade: true
# Add Repos
# individual repos flags are mentioned under config.add_repo key
repo: true
# Add PPAs
ppa: true
# APT Packages
apt: true
# Whether to purge packages mentioned in config.purge key
purge: true
debs: true
pip2: true
pip3: true
binaries: true
snaps: yes
# Repository Flags
add_repo:
winehq: true
docker: true
mendeley: true
googlecloud: true
gcsfuse: false
spotify: true
vscode: true
skype: true
signal: true
insync: true
google: true
ros: false
duo: false
# Flags
flags:
# Simulate flag will never be overridden by remote config.
purge_enabled: false
preserve_debs: false
# Packages to purge
purge:
- gnome-mines
- gnome-sudoku
- aisleriot
- gnome-mahjongg
# PPA List
ppa:
- ppa:yubico/stable
- ppa:papirus/papirus
- ppa:numix/ppa
- ppa:philip.scott/elementary-tweaks
# - ppa:ravefinity-project/ppa
# - ppa:varlesh-l/papirus-pack
# Install components
# APT Packages, Python Modules, Debian packages
install:
# Debian packages.deb files
# CSV format similar to lists
debian_packages:
# - https://atom-installer.github.com/v1.35.1/atom-amd64.deb,Atom-Editor.deb
# Static Binaries which will be placed in /usr/local/bin
# minikube, docker-compose, etc.
# Follows same pattern as Debian packages
# Name to be saved is second field
binaries:
# - https://github.com/kubernetes/kompose/releases/download/v1.19.0/kompose-linux-amd64,kompose
snaps:
normal:
- htop
classic:
- code
python2:
- future
python3:
- coloredlogs
apt:
# Admin related Stuff
administration:
- ncdu
- synaptic
- dconf-editor
- htop
- apt-xapian-index
- gdebi
- gparted
- synaptic
- bleachbit
- tree
- stow
- gnome-logs
- gnome-system-monitor
- gnome-calculator
- gnome-usage
# Security Related Stuff
security:
- gufw
- gnupg2
# Productivity & Office Tools.
productivity:
- gedit
# Multimedia Tools. Photo Editors Converting tools, plex etc.
multimedia:
- audacity
- vlc
- gimp
- handbrake
- handbrake-cli
- rawtherapee
- darktable
- mpv
- pavucontrol
- cheese
# Tools related to development.
development:
- curl
- make
- curl
- spyder
- spyder3
- git
- shellcheck
- ocl-icd-dev
- opencl-headers
- clinfo
- vainfo
- vdpauinfo
- python3-pip
# Complaire for OS Wacom Build
- cmake
- libclutter-gtk-1.0-dev
- libgee-0.8-dev
- libglib2.0-dev
- libgranite-dev
- libgtk-3-dev
- gudev-1.0
- meson
- valac
# Everything Else
# Which is conditional
other:
- screenfetch
- firefox
# themes
- gtk2-engines-murrine
- gtk2-engines-pixbuf
# Packages supplied by external repositories & PPAs
# Dont Mix packages provided by distribution and PPAs
# Sometimes external repos and ppas fail, so better isolate it.
external:
- google-chrome-stable
- spotify-client
- code
- google-cloud-sdk
- docker-ce
- papirus-icon-theme
- numix-icon-theme-circle
- papirus-icon-theme
- elementary-tweaks
- software-properties-common
- mendeleydesktop
@IslamAlam
Copy link
Author

Install your choice of Ubuntu/Debian/Mint or its derivative as you would

Step 1: Get the script

Without Git

Run this in Terminal

With Git

If you already have git on your system, you can use,

git clone https://github.com/IslamAlam/ubuntu-post-install.git && cd ubuntu-post-install

Step 2: Update the lists or your YAML configuration file

You can write your own config file

Step 3: Run the script

Run the script as root.

  • To use YAML configuration for Elementary-OS.

Local YAML File

sudo bash ./after-effects --autopilot -d --config-file ./config/elementary-os.yml

Github Gist YAML File

sudo bash ./after-effects --autopilot --remote-yaml https://gist.githubusercontent.com/IslamAlam/75e519b30e012d06d16e5593cc9c7e9f/raw/fb514313cdebdbd228747ed319476b7c5f08ff0a/elementary-os.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment