1 Commits

Author SHA1 Message Date
652d32b175 Add flatpak role for Debian 2023-08-01 19:46:24 +01:00
20 changed files with 84 additions and 74 deletions

View File

@@ -5,9 +5,4 @@
roles:
- role: kitty
- role: xremap
when: >
'GNOME' in ansible_env.XDG_CURRENT_DESKTOP and
ansible_env.XDG_SESSION_TYPE == 'wayland' and (
ansible_os_family == "RedHat" or
ansible_os_family == "Debian"
)
when: ansible_os_family == "RedHat"

View File

@@ -6,10 +6,8 @@
- role: python
- role: zsh
tags: unsafe
- role: neovim
- role: tmux
tags: unsafe
- role: ag
- role: bash

View File

@@ -1,9 +1,6 @@
---
- hosts: localhost
roles:
- role: flatpak
when: ansible_os_family != "Darwin"
- role: 1password
- role: ferdium
- role: fonts

View File

@@ -1,10 +1,10 @@
---
- name: add dnf repository key
- name: add yum repository key
become: true
rpm_key:
key: https://downloads.1password.com/linux/keys/1password.asc
- name: add dnf repository
- name: add yum repository
become: true
yum_repository:
name: 1password
@@ -15,8 +15,8 @@
repo_gpgcheck: true
gpgkey: ['https://downloads.1password.com/linux/keys/1password.asc']
- name: install dnf package
- name: install yum package
become: true
dnf:
yum:
name: 1password
state: latest

View File

@@ -1,6 +1,6 @@
---
- name: install dnf package
- name: install yum package
become: true
dnf:
yum:
name: the_silver_searcher
state: latest

View File

@@ -110,6 +110,3 @@ grey="\001\e[38;5;244m\002"
reset="\001\e[0m\002"
PS1="$yellow\u$reset@$grey\h$reset "
# Setup environment variables
export PATH=$HOME/.local/bin:$PATH

View File

@@ -1,6 +1,6 @@
---
- name: install dnf package
- name: install yum package
become: true
dnf:
yum:
name: bat
state: latest

View File

@@ -1,6 +1,6 @@
---
- name: install dnf package
- name: install yum package
become: true
dnf:
yum:
name: curl
state: latest

View File

@@ -5,8 +5,7 @@
name: ferdium
state: latest
- name: install chocolatey package
when: ansible_os_family == 'Windows'
- when: ansible_os_family == 'Windows'
win_chocolatey:
name: ferdium
state: latest
@@ -14,6 +13,5 @@
- name: install flatpak package
when: ansible_os_family != 'Windows' and
ansible_os_family != 'Darwin'
become: true
flatpak:
name: org.ferdium.Ferdium

View File

@@ -1,6 +0,0 @@
---
- name: install dnf package
become: true
dnf:
name: flatpak
state: latest

View File

@@ -1,6 +1,6 @@
---
- name: install dnf package
- name: install yum package
become: true
dnf:
yum:
name: fzf
state: latest

View File

@@ -1,5 +1,5 @@
---
- name: add dnf repository
- name: add yum repository
become: true
get_url:
url: https://cli.github.com/packages/rpm/gh-cli.repo

View File

@@ -12,7 +12,6 @@
become: true
apt_repository:
repo: ppa:neovim-ppa/stable
codename: '{{os_release.UBUNTU_CODENAME}}'
update_cache: true
- name: install apt package

View File

@@ -1,6 +1,6 @@
---
- name: install dnf package
- name: install yum package
become: true
dnf:
yum:
name: nodejs
state: latest

View File

@@ -1,32 +1,75 @@
---
- name: install flatpak package
become: true
flatpak:
name: md.obsidian.Obsidian
# TODO: Prefer Flatpak over AppImage if available
# Remove old appimage if it exists
- name: stat appimage symlink
- 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}}'
iconpath: 'share/icons/hicolor/512x512/apps/obsidian.png'
- name: remove appimage icon file
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 directories
file:
path: '{{item}}'
state: directory
with_items:
- '{{ansible_env.HOME}}/.local/bin'
- '{{ansible_env.HOME}}/.local/share/icons/hicolor/512x512/apps'
- name: create symlink
file:
src: '{{filepath}}'
dest: '{{ansible_env.HOME}}/.local/bin/Obsidian'
state: link
- name: extract squashfs-root for app icon
when: needs_installed
command:
cmd: '{{ansible_env.HOME}}/.local/bin/Obsidian --appimage-extract'
chdir: '/tmp'
- name: copy icon file
when: needs_installed
copy:
src: '/tmp/squashfs-root/usr/{{iconpath}}'
dest: '{{ansible_env.HOME}}/.local/{{iconpath}}'
state: absent
- name: remove appimage desktop file
- name: remove squashfs-root directory
when: needs_installed
file:
dest: '{{ansible_env.HOME}}/.local/share/applications/obsidian-obsidian.desktop'
path: '/tmp/squashfs-root'
state: absent
- 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: "'lnk_source' in symlink_file.stat"
when: needs_installed and symlink_file.stat.exists
file:
path: '{{symlink_file.stat.lnk_source}}'
state: absent
- name: remove appimage symlink
file:
path: '{{ansible_env.HOME}}/.local/bin/Obsidian'
state: absent
- include_tasks: Unix.yaml

View File

@@ -1,7 +1,7 @@
---
- name: install dnf packages
- name: install yum packages
become: true
dnf:
yum:
name:
- python3
- python3-pip

View File

@@ -1,7 +1,7 @@
---
- name: install dnf packages
- name: install yum packages
become: true
dnf:
yum:
name:
- tmux
- sysstat

View File

@@ -1,8 +1,7 @@
---
- assert:
that: >
'GNOME' in ansible_env.XDG_CURRENT_DESKTOP and
ansible_env.XDG_SESSION_TYPE == 'wayland'
that: ansible_env.XDG_CURRENT_DESKTOP == "GNOME" and
ansible_env.XDG_SESSION_TYPE == "wayland"
- set_fact:
install_dir: '{{ansible_env.HOME}}/.local/bin'
@@ -36,14 +35,12 @@
set_fact:
needs_installed:
'{{not executable.stat.exists or installed_version != latest.json.name}}'
xdg_current_desktop:
"{{ansible_env.XDG_CURRENT_DESKTOP | regex_replace('(.*:)?(.*)', '\\2')}}"
- name: construct asset query
set_fact:
asset_query: >
[?contains(name, `xremap-linux-{{ansible_architecture}}-{{
xdg_current_desktop | lower}}.zip`)] | [0]
ansible_env.XDG_CURRENT_DESKTOP | lower}}.zip`)] | [0]
- name: get release asset
set_fact:
asset: '{{latest.json.assets | to_json | from_json | json_query(asset_query)}}'
@@ -84,14 +81,6 @@
append: true
groups: input
- name: load the uinput kernel module
when: ansible_os_family == 'Debian'
become: true
copy:
content: |
uinput
dest: /etc/modules-load.d/uinput.conf
# TODO: This works for on Fedora, author uses it on Ubuntu so I assume Debian
# will work too. Arch and other distros are potentially different see the docs
# https://github.com/k0kubun/xremap

View File

@@ -1,7 +1,7 @@
---
- name: install dnf packages
- name: install yum packages
become: true
dnf:
yum:
name:
- zsh
- pinentry-tty