Compare commits

..

4 Commits

9 changed files with 80 additions and 8 deletions

View File

@ -3,3 +3,6 @@
- hosts: localhost
roles:
- role: 1password
- role: fonts
- role: obsidian
- role: webcatalog

View File

@ -2,12 +2,9 @@
- import_playbook: UnixGUI.yaml
- hosts: localhost
roles:
- role: fonts
- role: mas
- role: iterm
- role: magnet
- role: microsoft-remote-desktop
- role: obsidian
- role: viscosity
- role: webcatalog

View File

@ -0,0 +1,5 @@
---
- name: install desktop menu
command: >
xdg-desktop-menu install --mode user
{{ansible_env.HOME}}/.local/share/applications/obsidian-obsidian.desktop

View File

@ -4,8 +4,4 @@
name: obsidian
state: latest
- name: clone notes repository
git:
repo: git@github.com:kbenzie/notes.git
dest: '{{ansible_env.HOME}}/Documents/Notes'
version: main
- include_tasks: Unix.yaml

View File

@ -0,0 +1,48 @@
---
- name: stat symlink
stat:
path: '{{ansible_env.HOME}}/.local/bin/Obsidian'
register: symlink_file
- name: get latest release
uri:
url: https://api.github.com/repos/obsidianmd/obsidian-releases/releases/latest
register: latest
- set_fact:
appimage: 'Obsidian-{{latest.json.name}}.AppImage'
- set_fact:
filepath: '{{ansible_env.HOME}}/.local/bin/{{appimage}}'
asset_query: '[?contains(name, `{{appimage}}`)] | [0]'
- set_fact:
needs_installed:
'{{not symlink_file.stat.exists or symlink_file.stat.lnk_source != filepath}}'
asset: '{{latest.json.assets | to_json | from_json | json_query(asset_query)}}'
- name: download latest version
get_url:
url: '{{asset.browser_download_url}}'
dest: '{{filepath}}'
mode: '0755'
- name: create symlink
file:
src: '{{filepath}}'
dest: '{{ansible_env.HOME}}/.local/bin/Obsidian'
state: link
# TODO: icon for desktop file
- name: create desktop file
template:
src: obsidian.desktop.j2
dest: '{{ansible_env.HOME}}/.local/share/applications/obsidian-obsidian.desktop'
notify: install desktop menu
- name: remove old appimage
when: needs_installed and symlink_file.stat.exists
file:
path: '{{symlink_file.stat.lnk_source}}'
state: absent
- include_tasks: Unix.yaml

View File

@ -0,0 +1,6 @@
---
- name: clone notes repository
git:
repo: git@github.com:kbenzie/notes.git
dest: '{{ansible_env.HOME}}/Documents/Notes'
version: main

View File

@ -0,0 +1,11 @@
[Desktop Entry]
Name=Obsidian
Exec={{ansible_env.HOME}}/.local/bin/Obsidian
Terminal=false
Type=Application
Icon=obsidian
StartupWMClass=Obsidian
X-AppImage-Version={{latest.json.name}}
Comment=Private and flexible notetaking app that adapts to the way you think.
MimeType=x-scheme-handler/obsidian;
Categories=Utility;

View File

@ -0,0 +1,5 @@
---
- name: install desktop menu
command: >
xdg-desktop-menu install --mode user
{{ansible_env.HOME}}/.local/share/applications/webcatalog-webcatalog.desktop

View File

@ -40,6 +40,7 @@
template:
src: webcatalog.desktop.j2
dest: '{{ansible_env.HOME}}/.local/share/applications/webcatalog-webcatalog.desktop'
notify: install desktop menu
- name: remove old appimage
when: needs_installed and symlink_file.stat.exists