summaryrefslogtreecommitdiffstats
path: root/roles/obsidian
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 /roles/obsidian
parentc21242a13f1cf0989c220ec8256305c85f0f6bcc (diff)
Add obsidian role install
Diffstat (limited to 'roles/obsidian')
-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
6 files changed, 56 insertions, 0 deletions
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"