Skip to content

binary-manu/arch-ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arch-Ansible: an Ansible playbook to install Arch Linux

Stars License Link to the docs Changelog

Arch-Ansible is a playbook designed to install Arch Linux on a target machine. It was conceived to ease the preparation of virtual machines, but it can also be used to install on bare metal.

If you are a new user, please keep reading, otherwise have a look at the changelog for the latest changes.

The simplest way to get started is to provision a VM with Arch Linux to try the playbook out. Both VirtualBox and QEMU (possibly via libvirt) are supported, but the examples below use VirtualBox because it has been supported since the start, so the playbook is well-tested against it.

First, change some default settings by writing the following YAML snippet to ansible/group_vars/all/50-user-settings.yaml and customize it to suit your regional settings:

# Set your timezone, locale and keymap
locale_timezone: Europe/Rome
locale_locale: it_IT.UTF-8
locale_keymap: it
users_root_info:
    # Choose a root password
    password: "abcd$1234_root"
users_info:
  # Change "manu" to your username
  manu:
    # Choose a password for your user.
    # You'll be able to use sudo.
    password: "abcd$1234_manu"
    is_admin: true

Now, if you want Packer to build a brand new VM image, type:

cd packer
packer build -only=virtualbox-iso packer-template.json

or, if you prefer to spin up a turn-key Vagrant machine, go with:

cd vagrant
# A reload is required after provisioning
vagrant up --provider=virtualbox && vagrant reload

After login, type startx to run the GUI.

There's a good deal of things that can be customized: DE themes, preinstalled utilities, screensaver behaviour and more. Have a look at the documentation for more information. The side projects section links to specific documentation about integration with Vagrant and Packer.

If you find this project helpful, why not showing some ♥ by giving it a star on GitHub?