Files
2024-10-01 17:19:15 -07:00

110 lines
2.5 KiB
YAML
Executable File

---
- name: Ensure Users are Configured Correctly
user:
name: "{{ item.value.name }}"
group: "{{ item.value.group }}"
groups: "{{ item.value.groups }}"
state: "{{ item.value.state }}"
create_home: "{{ item.value.create_home }}"
shell: "{{ item.value.shell }}"
loop: "{{ init_users | dict2items }}"
- name: Create or ensure presence of custom home directories
file:
path: /home/opal/{{ item }}
state: directory
mode: '0755'
owner: opal
group: opal
loop: "{{ create_directories }}"
- name: Remove default home directories if present
file:
path: /home/opal/{{ item }}
state: absent
loop: "{{ remove_directories }}"
# SSH Initial Setup
- name: Create/Ensure ~/.ssh directories
file:
path: "/home/{{ item.value.name }}/.ssh"
state: directory
mode: 0700
owner: "{{ item.value.name }}"
group: "{{ item.value.group }}"
loop: "{{ init_users | dict2items }}"
- name: Upgrade all packages
package:
name: "*"
state: latest
- name: Add Ubuntu PPAs to apt repositories
apt_repository:
repo: "{{ item }}"
codename: "jammy" # Force the Ubuntu codename that PPAs support (e.g., "focal" or "jammy")
state: present
loop: "{{ ppa }}"
- name: Install window manager packages
package:
name: "{{ item }}"
state: present
loop: "{{ wm_packages }}"
- name: Install UI/Font packages
package:
name: "{{ item }}"
state: present
loop: "{{ ui_packages }}"
- name: Install general packages
package:
name: "{{ item }}"
state: present
loop: "{{ general_packages }}"
- name: Install Doom Emacs dependency packages
package:
name: "{{ item }}"
state: present
loop: "{{ doom_dep_packages }}"
- name: Add Flathub repository
flatpak_remote:
name: flathub
state: present
flatpakrepo_url: "https://flathub.org/repo/flathub.flatpakrepo"
- name: doom emacs repo
become: yes
become_user: opal
git:
repo: "{{ doom_emacs_repo }}"
dest: "{{ doom_emacs_dest }}"
update: no
- name: et-book font repo
become: yes
become_user: opal
git:
repo: "{{ etbook_repo }}"
dest: "{{ etbook_dest }}"
update: no
- name: Start TLP (power management)
systemd:
name: tlp
enabled: yes
state: started
- name: Add rsync backup job to cron
cron:
name: "Backup KeePassXC database to desktop"
minute: "0"
hour: "10"
day: "*"
month: "*"
weekday: "*"
job: "/usr/bin/rsync -avz /home/opal/documents/keepassxc/opalkeepassxc.kdbx opal@desktop:/home/opal/documents"