Files
dotfiles/playbook.yml

49 lines
1.1 KiB
YAML

- hosts: localhost
connection: local
become: false
tasks:
- set_fact:
distro: "{{ ansible_distribution|lower }}"
- set_fact:
user: "{{ ansible_user_id }}"
- name: configure sudoers
lineinfile:
path: /etc/sudoers
line: "{{ user }} ALL=(ALL) NOPASSWD:ALL"
regexp: "^{{ user }}\\s+"
become: true
- name: set shell
user:
name: "{{ user }}"
shell: /usr/bin/zsh
become: true
- name: load package list
include_vars:
file: packages.yml
- set_fact:
defined_packages: "{{ packages|json_query('keys(list)') }}"
- set_fact:
distro_packages: "{{ packages|json_query('list.*.%s'|format(distro)) }}"
- name: check list
assert:
that: "defined_packages|length == distro_packages|length"
- name: install packages
package:
name: "{{ packages|json_query(query) }}"
state: installed
become: true
vars:
query: "{{ 'list.*.%s[]'|format(distro) }}"
- name: run dotbot
command: ./dotbot