diff --git a/README.md b/README.md new file mode 100644 index 0000000..c8fc8dd --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# ansible + +Currently Ansible configurations for `ataraxia`, although if this goes well I'll bring it to Tycho/future devices. Please don't use :/ + +## Start + +`sudo dnf install -y ansible` + +- inventory: hosts file +- tasks: what playbook is going to do +- variables + - group_vars: groups of hosts + - host_vars: individual hosts + - `ansible-vault create/edit secret.yml` +- playbook: list of all tasks/roles Ansible must execute + - execute: `ansible-playbook run.yml -K --ask-vault-pass` + +## S + +```bash +ansible-galaxy collection install ansible.posix +``` diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..3c3a12b --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,3 @@ +[defaults] +inventory = hosts +transport = local diff --git a/hosts b/hosts new file mode 100644 index 0000000..2fbb50c --- /dev/null +++ b/hosts @@ -0,0 +1 @@ +localhost diff --git a/roles/common/tasks/hosts/ataraxia.yml b/roles/common/tasks/hosts/ataraxia.yml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/roles/common/tasks/hosts/ataraxia.yml @@ -0,0 +1 @@ + diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml new file mode 100644 index 0000000..9429bd8 --- /dev/null +++ b/roles/common/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- include_vars: + file: "{{ ansible_hostname }}.yml" +- include: selinux.yml +- include: packages.yml +- include: users.yml diff --git a/roles/common/tasks/packages.yml b/roles/common/tasks/packages.yml new file mode 100644 index 0000000..5d46199 --- /dev/null +++ b/roles/common/tasks/packages.yml @@ -0,0 +1,29 @@ +--- + +# - name: Configure repos + +- name: Install essential packages + package: + name: "{{ packages }}" + state: latest + vars: + packages: + - htop + - neovim + - tmux + - zsh + +# Hostname-specific package tasks +- include: hosts/{{ ansible_hostname }}.yml + +- name: Install zoom + when: use_zoom | default(False) + dnf: + name: 'https://zoom.us/client/latest/zoom_x86_64.rpm' + disable_gpg_check: true + state: present + +#- name: Install hostname-specific packages +# package: +# name: "{{ extra_packages }}" +# state: latest diff --git a/roles/common/tasks/selinux.yml b/roles/common/tasks/selinux.yml new file mode 100644 index 0000000..4ad7891 --- /dev/null +++ b/roles/common/tasks/selinux.yml @@ -0,0 +1,5 @@ +--- +- name: Set SELinux to permissive mode + ansible.posix.selinux: + policy: targeted + state: permissive diff --git a/roles/common/tasks/users.yml b/roles/common/tasks/users.yml new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/roles/common/tasks/users.yml @@ -0,0 +1 @@ + diff --git a/run.yml b/run.yml new file mode 100644 index 0000000..a0dcfb9 --- /dev/null +++ b/run.yml @@ -0,0 +1,7 @@ +--- +- hosts: all + become: yes + roles: + - common +# tasks: +# - import_tasks: tasks/essential.yml diff --git a/tasks/essential.yml b/tasks/essential.yml new file mode 100644 index 0000000..340f106 --- /dev/null +++ b/tasks/essential.yml @@ -0,0 +1,8 @@ + +- name: Install essential packages + package: + name: "{{ packages }}" + state: latest + +# extra conf +- include: hosts/{{ ansible_hostname }}.yaml diff --git a/tasks/update-packages.yml b/tasks/update-packages.yml new file mode 100644 index 0000000..4e20099 --- /dev/null +++ b/tasks/update-packages.yml @@ -0,0 +1,4 @@ +- name: Update packages + dnf: + name: "*" + state: latest diff --git a/vars/ataraxia.yml b/vars/ataraxia.yml new file mode 100644 index 0000000..7b6d4ad --- /dev/null +++ b/vars/ataraxia.yml @@ -0,0 +1 @@ +use_zoom: true