Git Product home page Git Product logo

restituto's Introduction

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

restituto's People

Contributors

aleksa-sukovic avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.