parsifal/setup-autocall.yml

101 lines
2.5 KiB
YAML
Raw Permalink Normal View History

2024-09-18 22:53:33 +02:00
---
2024-09-19 13:48:10 +02:00
- hosts: call
2024-09-18 22:53:33 +02:00
become: yes
tasks:
- name: Add NodeSource repository for Node.js 18.x
apt_key:
url: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key"
state: present
- name: Add NodeSource repo to sources list
apt_repository:
repo: "deb https://deb.nodesource.com/node_18.x {{ ansible_distribution_release }} main"
state: present
update_cache: yes
- name: Pin Node.js to the NodeSource repository
copy:
dest: /etc/apt/preferences.d/nodesource.pref
content: |
Package: nodejs
Pin: origin deb.nodesource.com
Pin-Priority: 1001
- name: Install Node.js v18
apt:
name: nodejs
state: present
- name: Install pnpm globally using npm
npm:
name: pnpm
global: yes
state: present
- name: Update apt cache and install Git, unclutter, scrot
2024-09-18 22:53:33 +02:00
apt:
2024-09-18 22:59:26 +02:00
name: "{{ item }}"
2024-09-18 22:53:33 +02:00
state: present
update_cache: yes
2024-09-18 22:59:26 +02:00
loop:
- git
- unclutter
- scrot
- name: Make sure ~/screenshots exists
file:
name: "/home/{{ ansible_user }}/screenshots"
state: directory
owner: "{{ ansible_user }}"
group: "{{ ansible_user }}"
mode: "0755"
2024-09-18 22:53:33 +02:00
- name: Clone Git repository
become: yes
become_user: "{{ ansible_user }}"
git:
repo: "https://git.thm.place/thm/parsifal.git"
dest: "/home/{{ ansible_user }}/parsifal"
version: "main"
- name: Create the systemd user directory if it doesn't exist
file:
path: "/home/{{ ansible_user }}/.config/systemd/user"
state: directory
owner: "{{ ansible_user }}"
mode: "0755"
2024-09-19 14:24:42 +02:00
- name: Symlink all service files
2024-09-18 22:53:33 +02:00
file:
2024-09-19 14:24:42 +02:00
src: "/home/{{ ansible_user }}/parsifal/{{ item }}"
dest: "/home/{{ ansible_user }}/.config/systemd/user/{{ item }}"
2024-09-18 22:53:33 +02:00
state: link
2024-09-19 14:24:42 +02:00
loop:
- parsifal.service
- unclutter.service
2024-09-19 14:57:21 +02:00
# - x11vnc.service
- screenshot.service
- screenshot.timer
2024-09-18 22:53:33 +02:00
2024-09-19 14:24:42 +02:00
- name: Reload systemd user service
2024-09-18 22:57:02 +02:00
become: yes
become_user: "{{ ansible_user }}"
2024-09-19 14:24:42 +02:00
systemd:
daemon_reload: yes
scope: user
2024-09-18 23:15:46 +02:00
2024-09-19 14:24:42 +02:00
- name: Enable and start all services
2024-09-18 23:15:46 +02:00
become: yes
become_user: "{{ ansible_user }}"
2024-09-19 14:24:42 +02:00
systemd:
name: "{{ item }}"
enabled: yes
state: started
scope: user
loop:
- parsifal
- unclutter
2024-09-19 14:57:21 +02:00
# - x11vnc
- screenshot.timer