Update kitty to install from GitHub on Debian
Older version of kitty have terrible font rendering on Linux, e.g. the one shipped with Ubuntu 22.04, so instead install the latest version from the provided GitHub packages.
This commit is contained in:
parent
e330c3d072
commit
b970cbc8ca
@ -1,6 +1,98 @@
|
||||
---
|
||||
- name: install apt package
|
||||
- name: remove apt package
|
||||
become: true
|
||||
apt:
|
||||
name: kitty
|
||||
state: latest
|
||||
state: absent
|
||||
|
||||
- name: get latest version
|
||||
uri:
|
||||
url: https://api.github.com/repos/kovidgoyal/kitty/releases/latest
|
||||
headers: '{{github_auth_headers}}'
|
||||
register: latest
|
||||
|
||||
- set_fact:
|
||||
kitty_latest_version: '{{latest.json.tag_name[1:]}}'
|
||||
kitty_exe: /usr/local/bin/kitty
|
||||
kitty_package_dir: /usr/local/stow/kitty
|
||||
|
||||
- name: check if already installed
|
||||
stat:
|
||||
path: '{{kitty_exe}}'
|
||||
register: kitty
|
||||
|
||||
- name: get installed version
|
||||
when: kitty.stat.exists
|
||||
command: '{{kitty_exe}} --version'
|
||||
register: kitty_version
|
||||
changed_when: false
|
||||
|
||||
- when: kitty.stat.exists
|
||||
set_fact:
|
||||
kitty_install_version:
|
||||
'{{kitty_version.stdout | regex_replace("^.*(\d+\.\d+\.\d+).*$", "\1")}}'
|
||||
|
||||
- set_fact:
|
||||
kitty_asset_query: >
|
||||
[? contains(name,
|
||||
`kitty-{{kitty_latest_version}}-{{ansible_architecture}}.txz`)] | [0]
|
||||
|
||||
- set_fact:
|
||||
kitty_install_required: >
|
||||
{{ kitty_install_version is not defined or
|
||||
kitty_latest_version != kitty_install_version }}
|
||||
kitty_asset: "{{ latest.json.assets | json_query(kitty_asset_query) }}"
|
||||
|
||||
- name: uninstall package
|
||||
when: kitty_install_required and kitty.stat.exists
|
||||
become: true
|
||||
command:
|
||||
cmd: 'stow --delete --target /usr/local .'
|
||||
chdir: '{{kitty_package_dir}}'
|
||||
|
||||
- name: remove outdated package
|
||||
when: kitty_install_required and kitty.stat.exists
|
||||
become: true
|
||||
file:
|
||||
state: absent
|
||||
path: '{{kitty_package_dir}}'
|
||||
|
||||
- set_fact:
|
||||
kitty_package_archive: '{{kitty_package_dir}}/{{kitty_asset.name}}'
|
||||
|
||||
- name: create package directory
|
||||
become: true
|
||||
file:
|
||||
state: directory
|
||||
path: '{{kitty_package_dir}}'
|
||||
|
||||
- name: download package
|
||||
when: kitty_install_required
|
||||
become: true
|
||||
get_url:
|
||||
url: '{{kitty_asset.browser_download_url}}'
|
||||
dest: '{{kitty_package_archive}}'
|
||||
environment: '{{proxy_environment}}'
|
||||
|
||||
- name: decompress package
|
||||
when: kitty_install_required
|
||||
become: true
|
||||
unarchive:
|
||||
src: '{{kitty_package_archive}}'
|
||||
dest: '{{kitty_package_dir}}'
|
||||
owner: root
|
||||
group: staff
|
||||
|
||||
- name: remove package archive
|
||||
when: kitty_install_required
|
||||
become: true
|
||||
file:
|
||||
state: absent
|
||||
path: '{{kitty_package_archive}}'
|
||||
|
||||
- name: install package
|
||||
when: kitty_install_required
|
||||
become: true
|
||||
command:
|
||||
cmd: 'stow --no-folding --target /usr/local .'
|
||||
chdir: '{{kitty_package_dir}}'
|
||||
|
Loading…
x
Reference in New Issue
Block a user