summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-02-05 00:32:53 +0100
committerAhmed Abdelhalim <[email protected]>2026-02-05 14:54:51 +0100
commit1f0a7565ac4cde7eced771907aa20838edd03ade (patch)
tree48d37074bef06f85055f50fd277f2668607b9e37
parentc21242a13f1cf0989c220ec8256305c85f0f6bcc (diff)
Add obsidian role install
-rw-r--r--configure.yml2
-rw-r--r--molecule/archlinux-gnome/converge.yml1
-rw-r--r--molecule/archlinux/converge.yml1
-rw-r--r--molecule/debian/converge.yml1
-rw-r--r--molecule/ubuntu/converge.yml1
-rw-r--r--roles/obsidian/defaults/main.yml2
-rw-r--r--roles/obsidian/meta/argument_specs.yml6
-rw-r--r--roles/obsidian/meta/main.yml17
-rw-r--r--roles/obsidian/tasks/install-archlinux.yml6
-rw-r--r--roles/obsidian/tasks/install-debian.yml22
-rw-r--r--roles/obsidian/tasks/main.yml3
11 files changed, 62 insertions, 0 deletions
diff --git a/configure.yml b/configure.yml
index b0b3f412..13b16a55 100644
--- a/configure.yml
+++ b/configure.yml
@@ -33,6 +33,7 @@
- role: "vim"
- role: "neomutt"
- role: "firefox"
+ - role: "obsidian"
- role: "alacritty"
- role: "mpv"
- role: "nvidia_gtx1060"
@@ -74,6 +75,7 @@
- role: "vim"
- role: "neomutt"
- role: "firefox"
+ - role: "obsidian"
- name: "Raspberry Pi configure"
gather_facts: true
diff --git a/molecule/archlinux-gnome/converge.yml b/molecule/archlinux-gnome/converge.yml
index 18b9ccff..72912436 100644
--- a/molecule/archlinux-gnome/converge.yml
+++ b/molecule/archlinux-gnome/converge.yml
@@ -79,6 +79,7 @@
- role: "password_store"
- role: "which"
- role: "firefox"
+ - role: "obsidian"
- role: "font"
- role: "aur_font"
- role: "alacritty"
diff --git a/molecule/archlinux/converge.yml b/molecule/archlinux/converge.yml
index 1371da82..c3040888 100644
--- a/molecule/archlinux/converge.yml
+++ b/molecule/archlinux/converge.yml
@@ -78,6 +78,7 @@
- role: "password_store"
- role: "which"
- role: "firefox"
+ - role: "obsidian"
- role: "font"
- role: "aur_font"
- role: "alacritty"
diff --git a/molecule/debian/converge.yml b/molecule/debian/converge.yml
index b790a9c2..aa087b87 100644
--- a/molecule/debian/converge.yml
+++ b/molecule/debian/converge.yml
@@ -89,6 +89,7 @@
- role: "password_store"
- role: "which"
- role: "firefox"
+ - role: "obsidian"
- role: "font"
- role: "alacritty"
- role: "btop"
diff --git a/molecule/ubuntu/converge.yml b/molecule/ubuntu/converge.yml
index 5286d675..6b5d2b16 100644
--- a/molecule/ubuntu/converge.yml
+++ b/molecule/ubuntu/converge.yml
@@ -78,6 +78,7 @@
- role: "password_store"
- role: "which"
- role: "firefox"
+ - role: "obsidian"
- role: "font"
- role: "alacritty"
- role: "btop"
diff --git a/roles/obsidian/defaults/main.yml b/roles/obsidian/defaults/main.yml
new file mode 100644
index 00000000..e2164840
--- /dev/null
+++ b/roles/obsidian/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+obsidian_version: "1.11.5"
diff --git a/roles/obsidian/meta/argument_specs.yml b/roles/obsidian/meta/argument_specs.yml
new file mode 100644
index 00000000..34ed35f9
--- /dev/null
+++ b/roles/obsidian/meta/argument_specs.yml
@@ -0,0 +1,6 @@
+---
+argument_specs:
+ main:
+ short_description: "Install obsidian on Linux distribution"
+ description: "Install obsidian on Linux distribution"
+ options: {}
diff --git a/roles/obsidian/meta/main.yml b/roles/obsidian/meta/main.yml
new file mode 100644
index 00000000..0d2372a1
--- /dev/null
+++ b/roles/obsidian/meta/main.yml
@@ -0,0 +1,17 @@
+---
+dependencies: []
+galaxy_info:
+ author: "a14m"
+ description: "Install obsidian"
+ license: "MIT"
+ min_ansible_version: "2.18"
+ platforms:
+ - name: "ArchLinux"
+ versions:
+ - "all"
+ - name: "Ubuntu"
+ versions:
+ - "noble"
+ - name: "Debian"
+ versions:
+ - "bookworm"
diff --git a/roles/obsidian/tasks/install-archlinux.yml b/roles/obsidian/tasks/install-archlinux.yml
new file mode 100644
index 00000000..36de2f6b
--- /dev/null
+++ b/roles/obsidian/tasks/install-archlinux.yml
@@ -0,0 +1,6 @@
+---
+- name: "Ensure obsidian is installed"
+ become: true
+ ansible.builtin.package:
+ name: "obsidian"
+ state: "present"
diff --git a/roles/obsidian/tasks/install-debian.yml b/roles/obsidian/tasks/install-debian.yml
new file mode 100644
index 00000000..b667fe91
--- /dev/null
+++ b/roles/obsidian/tasks/install-debian.yml
@@ -0,0 +1,22 @@
+---
+- name: "Check obsidian binary"
+ ansible.builtin.stat:
+ path: "{{ ansible_facts['env']['HOME'] }}/.local/bin/obsidian"
+ register: obsidian_binary
+
+- name: "Install obsidian"
+ when: not obsidian_binary.stat.exists
+ block:
+ - name: "Download obsidian"
+ ansible.builtin.get_url:
+ # yamllint disable-line
+ url: "https://github.com/obsidianmd/obsidian-releases/releases/download/v{{ obsidian_version }}/obsidian_{{ obsidian_version }}_amd64.deb"
+ dest: "/tmp/obsidian.deb"
+ mode: "0755"
+
+ - name: "Install deb"
+ become: true
+ ansible.builtin.apt:
+ deb: "/tmp/obsidian.deb"
+ autoremove: true
+ autoclean: true
diff --git a/roles/obsidian/tasks/main.yml b/roles/obsidian/tasks/main.yml
new file mode 100644
index 00000000..71bcbd0d
--- /dev/null
+++ b/roles/obsidian/tasks/main.yml
@@ -0,0 +1,3 @@
+---
+- name: "Include OS-specific tasks"
+ ansible.builtin.include_tasks: "install-{{ ansible_facts['os_family'] | lower }}.yml"