Coder Social home page Coder Social logo

shizonic / ansible-arch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lgaggini/ansible-arch

0.0 2.0 0.0 103 KB

ansible-arch is an Ansible playbook to provision and recreate from scratch my archlinunx workstation environment.

Home Page: https://lgaggini.github.io/ansible-arch/

License: GNU General Public License v3.0

Shell 100.00%

ansible-arch's Introduction

ansible-arch

ansible-arch is an Ansible playbook heavily inspired by spark to provision and recreate from scratch my archlinunx workstation environment.

Status

The follow roles are done:

  • archcore: performs the basic steps on a freshly archlinux install
    • hostname setting
    • user creation
    • timezone, locale and keymapping configuration
    • pacman configuration, mirror refresh, reflector install and mirror sort
    • basic packages install
    • populates home with a directories skel
  • dotfiles: clones a dotfiles repo by git and install them in the home
  • x: installs xorg, video driver, window manager and basic gui utilities
  • tools: installs some core gui tools (browser, editor)
  • mail: installs neomutt, msmtp, offlineimap, notmuch, lbdb, urlscan
  • pim: installs pass, vdirsyncer, khal, todoman
  • audio: installs alsa-utils, mpd, mpc, ncmpc, soundcloud-dl and creates media/audio subdirectories
  • backup: installs restic, enables scheduled backups and optionally enable backup rsync on a remote host by ssh
  • ops: installs ansible, ansible-lint, libvirt, wireshark, virt-mananger and puppet-lint
  • virt: installs docker, qemu, virtualbox and vagrant
  • dev:
    • python: installs ipython2/3, python2/3 virtualenv, python virtualenvwrapper, pelican and flake8
  • communication: installs weechat, pidgin and purple-skyweb (skype plugin for pidgin)
  • media: installs mpv, gnome-mpv and creates media/video subdirectories

Plan

To come:

  • to set communications account

Install

Clone

git clone https://github.com/lgaggini/ansible-arch

Requirements

  • Ansible
  • Vagrant (otional, to test on a disposable vm)

Configuration

The configuration of the playbook is done by edit the group_vars/all file, you can mainly edit:

  • some settings for the archlinux installation customization
  • dotfiles git repo location
  • packages list to be installed for the various roles
  • mail_account (imap and smtp) and cal account
  • backup remote server for backups rsync

Custom systemd user unit

I have all my user custom systemd units in my dotfiles repo and I get them in the dotfiles role and in the other roles I enable them. They aren't included in the playbook.

Usage

Vagrant playground

cd ansible-arch
vagrant up
ansible-playbook -i vagrant.inventory playbook.yml

Every roles and every steps are tagged, you can perform partially run of playbook using them.

Main available tags are:

  • core
  • cli
  • gui
  • dotfiles
  • tools
  • mail
  • pim
  • audio
  • backup
  • ops
  • virt
  • dev
  • comm
  • media

ansible-arch's People

Watchers

 avatar  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.