summaryrefslogtreecommitdiffstats
path: root/roles/mise/tasks
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-03-03 22:42:29 +0100
committerAhmed Abdelhalim <[email protected]>2026-03-03 22:42:29 +0100
commita046d41c5a3c7d555d439d897d43c60344d6d3c2 (patch)
tree9c09d1bebaaef6a66bb7a2981d37e75875583419 /roles/mise/tasks
parent0f1aa045827068da93631004234ba0e90f984499 (diff)
Add mise role
Diffstat (limited to 'roles/mise/tasks')
-rw-r--r--roles/mise/tasks/install-archlinux.yml6
-rw-r--r--roles/mise/tasks/install-debian.yml26
-rw-r--r--roles/mise/tasks/main.yml15
3 files changed, 47 insertions, 0 deletions
diff --git a/roles/mise/tasks/install-archlinux.yml b/roles/mise/tasks/install-archlinux.yml
new file mode 100644
index 00000000..5e545732
--- /dev/null
+++ b/roles/mise/tasks/install-archlinux.yml
@@ -0,0 +1,6 @@
+---
+- name: "Ensure mise is installed"
+ become: true
+ ansible.builtin.package:
+ name: "mise"
+ state: "present"
diff --git a/roles/mise/tasks/install-debian.yml b/roles/mise/tasks/install-debian.yml
new file mode 100644
index 00000000..e0f0283e
--- /dev/null
+++ b/roles/mise/tasks/install-debian.yml
@@ -0,0 +1,26 @@
+---
+- name: "Download mise GPG key"
+ become: true
+ ansible.builtin.get_url:
+ url: "https://mise.jdx.dev/gpg-key.pub"
+ dest: "/etc/apt/trusted.gpg.d/mise.asc"
+ mode: "0644"
+
+- name: "Add mise repository"
+ become: true
+ ansible.builtin.apt_repository:
+ repo: "deb [signed-by=/etc/apt/trusted.gpg.d/mise.asc] https://mise.jdx.dev/deb stable main"
+ state: "present"
+ filename: "mise"
+
+- name: "Update package cache"
+ become: true
+ ansible.builtin.apt:
+ update_cache: true
+ changed_when: false
+
+- name: "Ensure mise is installed"
+ become: true
+ ansible.builtin.package:
+ name: "mise"
+ state: "present"
diff --git a/roles/mise/tasks/main.yml b/roles/mise/tasks/main.yml
new file mode 100644
index 00000000..a8ff3522
--- /dev/null
+++ b/roles/mise/tasks/main.yml
@@ -0,0 +1,15 @@
+---
+- name: "Include OS-specific tasks"
+ ansible.builtin.include_tasks: "install-{{ ansible_facts['os_family'] | lower }}.yml"
+
+- name: "Add mise activation to bash"
+ ansible.builtin.blockinfile:
+ path: "{{ ansible_facts['env']['HOME'] }}/.bashrc"
+ state: "present"
+ prepend_newline: true
+ append_newline: true
+ marker: "# ==== {mark} ANSIBLE MISE CONFIG"
+ block: |
+ if command -v mise 1>/dev/null 2>&1; then
+ eval "$(mise activate bash)"
+ fi