summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-02-12 23:14:26 +0100
committerAhmed Abdelhalim <[email protected]>2026-02-12 23:14:26 +0100
commite807a5b9e0bc3f2b96282d41807610656fa7874b (patch)
treeaf0a7f5926d6e276dc1f66e4c73f7b4e2214864a
parent20cd9cd0983f4efe038cb486aa649e7dd8ea7366 (diff)
Add reboot to the playbook as post_task (controlled by flag)
-rw-r--r--configure.yml24
-rw-r--r--roles/ddcutil/handlers/main.yml5
-rw-r--r--roles/ddcutil/tasks/main.yml2
-rw-r--r--roles/gnome/handlers/main.yml5
-rw-r--r--roles/gnome/tasks/install-archlinux.yml1
-rw-r--r--roles/gnome/tasks/install-debian.yml1
-rw-r--r--roles/nvidia_gtx1060/handlers/main.yml5
-rw-r--r--roles/nvidia_gtx1060/tasks/install-archlinux.yml8
8 files changed, 49 insertions, 2 deletions
diff --git a/configure.yml b/configure.yml
index 82675756..2886c512 100644
--- a/configure.yml
+++ b/configure.yml
@@ -43,6 +43,14 @@
- role: "wiremix"
- role: "waybar"
- role: "hyprland"
+ post_tasks:
+ - name: "Reboot if required"
+ become: true
+ ansible.builtin.command: "shutdown -r now"
+ async: 1
+ poll: 0
+ changed_when: true
+ when: reboot_required | default(false)
- name: "Ubuntu configure"
gather_facts: true
@@ -74,6 +82,14 @@
- role: "neomutt"
- role: "firefox"
- role: "obsidian"
+ post_tasks:
+ - name: "Reboot if required"
+ become: true
+ ansible.builtin.command: "shutdown -r now"
+ async: 1
+ poll: 0
+ changed_when: true
+ when: reboot_required | default(false)
- name: "Raspberry Pi configure"
gather_facts: true
@@ -100,3 +116,11 @@
- role: "password_store"
- role: "vim"
- role: "neomutt"
+ post_tasks:
+ - name: "Reboot if required"
+ become: true
+ ansible.builtin.command: "shutdown -r now"
+ async: 1
+ poll: 0
+ changed_when: true
+ when: reboot_required | default(false)
diff --git a/roles/ddcutil/handlers/main.yml b/roles/ddcutil/handlers/main.yml
index ed0ffa85..dfc50931 100644
--- a/roles/ddcutil/handlers/main.yml
+++ b/roles/ddcutil/handlers/main.yml
@@ -4,3 +4,8 @@
ansible.builtin.command:
cmd: "udevadm control --reload-rules"
changed_when: true
+
+- name: "Require reboot"
+ ansible.builtin.set_fact:
+ # This flag is used to trigger a post_task of rebooting after the playbook finishes
+ reboot_required: true
diff --git a/roles/ddcutil/tasks/main.yml b/roles/ddcutil/tasks/main.yml
index ed4dc845..5b97b5e1 100644
--- a/roles/ddcutil/tasks/main.yml
+++ b/roles/ddcutil/tasks/main.yml
@@ -12,6 +12,7 @@
mode: "0644"
content: |
i2c-dev
+ notify: "Require reboot"
- name: "Ensure i2c group is created"
become: true
@@ -35,3 +36,4 @@
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
notify:
- "Reload rules"
+ - "Require reboot"
diff --git a/roles/gnome/handlers/main.yml b/roles/gnome/handlers/main.yml
new file mode 100644
index 00000000..5b3adc50
--- /dev/null
+++ b/roles/gnome/handlers/main.yml
@@ -0,0 +1,5 @@
+---
+- name: "Require reboot"
+ ansible.builtin.set_fact:
+ # This flag is used to trigger a post_task of rebooting after the playbook finishes
+ reboot_required: true
diff --git a/roles/gnome/tasks/install-archlinux.yml b/roles/gnome/tasks/install-archlinux.yml
index 824f314e..5222ff3f 100644
--- a/roles/gnome/tasks/install-archlinux.yml
+++ b/roles/gnome/tasks/install-archlinux.yml
@@ -4,6 +4,7 @@
ansible.builtin.package:
name: "{{ gnome_packages }}"
state: "present"
+ notify: "Require reboot"
- name: "Enable GDM display manager"
become: true
diff --git a/roles/gnome/tasks/install-debian.yml b/roles/gnome/tasks/install-debian.yml
index 34369156..9ecdecb6 100644
--- a/roles/gnome/tasks/install-debian.yml
+++ b/roles/gnome/tasks/install-debian.yml
@@ -5,6 +5,7 @@
name: "{{ gnome_packages }}"
state: "present"
install_recommends: false
+ notify: "Require reboot"
tags:
# NOTE: the gnome-core packages resinstalls the avahi packages
# Disabling the idemopotence test to prevent always reporting changed
diff --git a/roles/nvidia_gtx1060/handlers/main.yml b/roles/nvidia_gtx1060/handlers/main.yml
index 67408c79..56f4faec 100644
--- a/roles/nvidia_gtx1060/handlers/main.yml
+++ b/roles/nvidia_gtx1060/handlers/main.yml
@@ -4,3 +4,8 @@
ansible.builtin.command:
cmd: "mkinitcpio -P"
changed_when: true
+
+- name: "Require reboot"
+ ansible.builtin.set_fact:
+ # This flag is used to trigger a post_task of rebooting after the playbook finishes
+ reboot_required: true
diff --git a/roles/nvidia_gtx1060/tasks/install-archlinux.yml b/roles/nvidia_gtx1060/tasks/install-archlinux.yml
index 0a8565ea..8d5134bb 100644
--- a/roles/nvidia_gtx1060/tasks/install-archlinux.yml
+++ b/roles/nvidia_gtx1060/tasks/install-archlinux.yml
@@ -19,7 +19,9 @@
src: "nvidia.conf.j2"
dest: "/etc/modprobe.d/nvidia.conf"
mode: "0644"
- notify: "Rebuild initramfs"
+ notify:
+ - "Rebuild initramfs"
+ - "Require reboot"
tags:
# Since the /etc/mkinitcpio isn't available on the docker container
# Ignore this for testing,
@@ -47,7 +49,9 @@
path: "/etc/mkinitcpio.conf"
regexp: "^MODULES=\\(.*\\)"
line: "MODULES=({{ all_modules | join(' ') }})"
- notify: "Rebuild initramfs"
+ notify:
+ - "Rebuild initramfs"
+ - "Require reboot"
tags:
# Since the /etc/mkinitcpio isn't available on the docker container
# Ignore this for testing,