aleksa-sukovic / restituto

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Restituto

This is Ansible playbook for provisioning my personal system.

Idea is to automate installation of my system so I can be up and running really fast on multiple machines (say desktop, laptop etc).

This playbook is intended to provision Arch or any Arch based distro (I'm using Manjaro).

What is included

1.) Applications that will be removed:

  • HP Device Manager
  • Kvantum Manager
  • Gnome ToDo
  • Simple Scan
  • Evolution
  • Empathy
  • HexChat
  • Microsoft Office Online
  • Transmission GTK
  • uGet
  • Timeshift

2.) Applications that will be installed:

  • Albert
  • Android Studio
  • Binutils
  • Bitwarden
  • Blender
  • Calibre
  • Dbeaver
  • Docker
  • Draw IO
  • Firefox
  • FiraCode
  • Git
  • GitKraken
  • Google Chrome
  • IntelliJ Community
  • Nativefier
  • Notion
  • pCloud
  • PHP Storm
  • Plank Dock
  • Postman
  • qBitTorrent
  • Slack
  • Spotify
  • Sublime Text
  • Telegram
  • Todoist
  • Trizen
  • Vagrant
  • Viber
  • Virtual Box
  • Visual Studio Code
  • VLC Player
  • VMware Workstation
  • Vysor
  • Whatsie
  • Patch
  • Yay

3.) Dotfiles

I've included my dotfiles configuration, You can find it here.

4.) Gnome Tweaks

This playbook contains custom Gnome DE configuration including themes, icons, keyboard shortcuts and much more.

How to configure

You can configure entire provisioning process through restituto.yml playbook.

Here I'll list all available settings with allowed values.

  • username

    • Username You set during system installation.
  • group

    • Primary group to which Your user belongs to (usually same as username).
  • git_username

    • Username You wish to use with Git.
  • git_email

    • Email You wish to use with Git.
  • calibre_library

    • Path where You wish to store Calibre library.
  • plank_theme

    • Theme that is used for Plank Dock.
    • Allowed values: [ mac-round, mac-square, mojave-dark, mojave-light ]
  • gnome_theme

    • Theme that is used for Gnome DE.
    • Allowed values: [ mojave-light, mojave-light-solid, mojave-light-alt, mojave-light-solid-alt, mojave-dark, mojave-dark-solid, mojave-dark-alt, mojave-dark-solid-alt ]
  • gnome_icons_theme

    • Theme that is used for Gnome DE icons.
    • Allowed values: [ 'mojave-icons' ]
  • gnome_wallpaper

    • Main desktop wallpaper.
    • Allowed values: [ 'mojave-light.jpg', 'mojave-dark.jpg', 'solid.jpg' ]
  • gnome_lockscreen

    • Lockscreen wallpaper.
    • Allowed values: [ 'lockscreen.jpg', 'solid.jpg' ]
  • gnome_extensions

    • List of gnome extensions to be installed.
    • Extensions are identified using unique id.
    • To find extension id search for extension and note it's which is found in extension URL.
    • Allowed values: any valid Gnome extension id.

How to run?

In order to run this playbook You must follow several steps. I assume You've already set preferred variables in restituto.yml playbook. (check Configuration section).

  1. ) Install Arch or any Arch based distro on Your system as You would normally.
  2. ) Clone this repository anywhere You want.
  3. ) Navigate to repository folder.
  4. ) Run sudo sh scripts/restituto.sh
  5. ) Reboot Your system.

Some applications required additional steps in order to complete full configuration:

  1. ) VMware

    • Run sudo ~/.config/vmware/vmware-setup.sh
  2. ) PHP Storm, Android Studio, IntelliJ Community

    • My settings are exported and saved in ~/.config/jetbrains-zip-config/
    • You need to import them manually from application GUI.

What have I learned ?

  1. Ansible (advance concepts).
  2. Improved my scripting skills.
  3. General details about Linux systems and their organization.

Images

Before

Before

After

After

About


Languages

Language:Shell 85.6%Language:Python 14.4%