All Projects → lgaggini → ansible-arch

lgaggini / ansible-arch

Licence: GPL-3.0 license
ansible-arch is an Ansible playbook to provision and recreate from scratch my archlinux workstation environment.

Programming Languages

Jinja
831 projects
shell
77523 projects

Projects that are alternatives of or similar to ansible-arch

gitlab-configuration-as-code
Manage GitLab configuration as code to make GitLab easily managable, traceable and reproducible.
Stars: ✭ 31 (+6.9%)
Mutual labels:  configuration-management
archlinux
Archlinux docker image from scratch (built daily by travis cronjob)
Stars: ✭ 79 (+172.41%)
Mutual labels:  archlinux
archlinux-auto-install
Automatically install archlinux (from livecd with Ventoy tools)
Stars: ✭ 34 (+17.24%)
Mutual labels:  archlinux
dotfiles
My awesomewm dotfiles for awesome people! ✨
Stars: ✭ 1,764 (+5982.76%)
Mutual labels:  archlinux
dotfiles
⚙️ My ArchLinux/macOS Config files.
Stars: ✭ 29 (+0%)
Mutual labels:  archlinux
parse it
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.
Stars: ✭ 86 (+196.55%)
Mutual labels:  configuration-management
BepInEx.ConfigurationManager
Plugin configuration manager for BepInEx
Stars: ✭ 115 (+296.55%)
Mutual labels:  configuration-management
nordfiles
Bleeding-edge dots.
Stars: ✭ 33 (+13.79%)
Mutual labels:  archlinux
pyalpm
Python 3 bindings for libalpm (read-only mirror)
Stars: ✭ 50 (+72.41%)
Mutual labels:  archlinux
secode
Utility for encoding/decoding Kubernetes secrets (base64)
Stars: ✭ 23 (-20.69%)
Mutual labels:  configuration-management
archlinuxcn-dotfiles-collection
来自社区小伙伴们的 dotfiles 集锦
Stars: ✭ 73 (+151.72%)
Mutual labels:  archlinux
Machfiles
The dotfiles you see in all my videos
Stars: ✭ 347 (+1096.55%)
Mutual labels:  archlinux
dotfiles
dotfiles for the command line home
Stars: ✭ 21 (-27.59%)
Mutual labels:  archlinux
alpine-conf
[MIRROR] Alpine configuration management scripts
Stars: ✭ 38 (+31.03%)
Mutual labels:  configuration-management
devops-notes
My technical documentation in the SRE / DevOps paradigm.
Stars: ✭ 19 (-34.48%)
Mutual labels:  configuration-management
infraverse
Infrastructure Platforms and Applications Comparison
Stars: ✭ 77 (+165.52%)
Mutual labels:  configuration-management
1config
A command line tool and a library to manage application secrets and configuration safely and effectively.
Stars: ✭ 24 (-17.24%)
Mutual labels:  configuration-management
axyl-iso
Axyl is a Linux distro centered on tiling window managers. Choose from i3, bspwm, dwm and more.
Stars: ✭ 348 (+1100%)
Mutual labels:  archlinux
saltstack-cheatsheet
🧂 SaltStack Cheat Sheet Plus
Stars: ✭ 31 (+6.9%)
Mutual labels:  configuration-management
dotfiles
The best and strongest dotfiles. Editor: Neovim; Shell: zsh(zinit, powerlevel10k); Terminal: tmux, wezterm; Desktop: i3-gaps/sway, rofi, dunst; OS: ArchLinux, (Ubuntu/Fedora/CentOS)
Stars: ✭ 245 (+744.83%)
Mutual labels:  archlinux

ansible-arch

ansible-arch is an Ansible playbook heavily inspired by spark to provision and recreate from scratch my archlinux 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].