Giter Site home page Giter Site logo

fnandot / ansible-desktop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iancleary/ubuntu-dev-playbook

0.0 0.0 0.0 265 KB

Ansible roles and Makefiles to configure my Ubuntu LTS based desktops

Home Page: https://ansible-desktop.iancleary.me/

License: GNU General Public License v3.0

Makefile 76.60% Shell 14.22% JavaScript 4.10% Python 5.08%

ansible-desktop's Introduction

ansible-desktop

Build Status Netlify Status

Ansible Playbook to configure my laptops and desktops

I care about not having to think too much about my setup between machines. Especially when I want to get right to work.

For that reason, it is very comfortable for me to have the same base configuration on each machine (look, feel, keyboard shortcuts, core software, etc.).

My journey to the current state of this repo

  • I found a cool bash script on the internet (I didn't understand most of it) ๐Ÿคท
  • I modified cool bash script for my needs and it worked! ๐Ÿš€
  • I learned about Makefiles. ๐Ÿ˜„
  • I proceeded to do everything with Makefiles. ๐Ÿคฉ๐Ÿคฉ๐Ÿคฉ
  • I got tired of running successive Make targets over and again ๐Ÿ˜.
  • I used Ansible at work and decided to take a course to learn more about it. ๐Ÿค“
  • I put off actually taking the plunge to use Ansible. ๐Ÿ•’๐Ÿ••๐Ÿ•˜๐Ÿ•›
  • I finally took the plunge and decided to use Ansible for my configuration. โœ”๏ธ

Supported Ubuntu LTS Versions

  • Ubuntu 18.04
  • Ubuntu 20.04

There are no plans to support non-LTS versions. Software support is LTS version dependent.

Core Software

This isn't exactly the list of Ansible roles, but below is a list of what the software installs.

Note: the crossed out out items haven't been ported over from the previous Makefiles.

See the archive folder for not used targets.

Configuration

The GNOME Ansible roles configure my GNOME personal preferences.


Documentation

Detailed documentation is hosted by Netlify at https://ansible-desktop.iancleary.me.

Existing Machine

For a walk through of my process on existing machine, please visit https://ansible-desktop.iancleary.me/makefile.

New Machine Setup

For a new machine, I run the following command to set up my computer:

Please make sure you adjust your hostname as Ansible keys off this variable. I like to do this during the initial configuration of the machine.

wget -qO- \
https://github.com/iancleary/ansible-desktop/raw/master/run.sh | \
bash

This will prompt you for your sudo password for the bash script and then once later for ansible's "BECOME PASSWORD" prompt.

Voila! ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰

Customization

If you want to edit the variables, hit CTRL + C at ansible's "BECOME PASSWORD" prompt.

The script created two extra files that ensure that the ansible-playbook will on your host name.

Note: Both files are intentionally not version controlled. This allows hostname specific group_vars relative to the playbook.

  • a private .inventory file
#.inventory
[$(hostname)]
127.0.0.1
  • a group_vars file
# group_vars/$(hostname)/all.yml
---
# You can copy and modify variables over from ../all.yml

Then run make all

Voila (with your edits)! ๐Ÿš€๐Ÿš€๐Ÿš€

Changes

See CHANGELOG for history.


Authors

I benefited from the source work of others, see AUTHORS.md.

My choice to open source my work here is to share back with you.

ansible-desktop's People

Contributors

imgbot[bot] avatar pyup-bot 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.