Code Monkey home page Code Monkey logo

my-ubuntu-laptop-playbook's Introduction

Ubuntu laptop playbook

Build Status

This playbook installs and configures most of the software I use on my Ubuntu laptop for Cloud and software development.

Installation

  1. Install Ansible.
  2. Clone this repository to your local drive.
  3. Run 'ansible-galaxy install -r requirements.yml' inside this directory to install required Ansible roles.
  4. Run 'ansible-playbook playbook.yml' inside this directory.

Running a specific set of tagged tasks

You can filter which part of the provisioning process to run by specifying a set of tags using ansible-playbook --tags flag. The tags available:

  • atom
  • aws-cli
  • discord
  • docker
  • gcloud
  • minikube
  • openjdk
  • packer
  • puppet
  • slack
  • spotify
  • tusk
  • vagrant

ansible-playbook playbook.yml --tags "atom,docker,tusk"

Overriding Defaults

---
# defaults file for linux-dev-playbook

# Install text editor Atom.
# Default is true.
atom_install: true

# Install awscli.
# Default is true.
awscli_install: true

# Install voice and text chat Discord.
# Default is true.
discord_install: true

# Install Docker.
# Default is true.
docker_install: true

# Install google sdk for cloud provider
# Default is true
gcloud_install: true

# Install Minikube for deploy local kubernetes cluster
# Default is true
minikube_install: true

# Install Hashicorp Packer
# Default is true
packer_install: true

# Install text chat Slack.
# Default is true.
spotify_install: true

# Install text chat Slack.
# Default is true.
slack_install: true

# Install Tusk note.
# Default is true.
tusk_install: true

# Install provisionner Vagrant.
# Default is true.
vagrant_install: true

# Install shell Oh-My-Zsh.
# Default is true.
ohmyzsh_install: true

atom_packages:
  - atom-beautify
  - atom-jinja2
  - atom-material-ui
  - busy-signal
  - git-plus
  - highlight-selected
  - intentions
  - language-ansible
  - language-chef
  - language-docker
  - language-groovy
  - language-puppet
  - language-terraform
  - linter
  - linter-ansible-linting
  - linter-docker
  - linter-erb
  - linter-golinter
  - linter-markdown
  - linter-puppet-lint
  - linter-pylint
  - linter-ruby
  - linter-shellcheck
  - linter-ui-default
  - markdown-preview-plus
  - minimap

Dependencies

None

Local Testing

The preferred way of locally testing the role is to use Docker. You will have to install Docker on your system. See Get started for a Docker package suitable to for your system.

You can also use vagrant and Virtualbox to run tests locally. You will have to install Virtualbox and Vagrant on your system. See Vagrant Downloads for a vagrant package suitable for your system. For all our tests we use test-kitchen. If you are not familiar with test-kitchen please have a look at their guide.

Next install test-kitchen:

# Install dependencies
gem install bundler
bundle install

Testing with Docker

# fast test on one machine
kitchen test default-ubuntu-18-04

# Build environment and apply puppet manifest
kitchen converge default-ubuntu-18-04

# Launch inspec tests
kitchen verify default-ubuntu-18-04

Testing with Virtualbox

# Test with virtualbox
export KITCHEN_YAML=".kitchen-vagrant.yml"
kitchen test default-ubuntu-18-04

# Build environment and apply puppet manifest
kitchen converge default-ubuntu-18-04

# Launch inspec tests
kitchen verify default-ubuntu-18-04

License

Apache 2

Author Information

This role was created in 2018 by diodonfrost.

my-ubuntu-laptop-playbook's People

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.