134 lines
3.5 KiB
YAML
134 lines
3.5 KiB
YAML
# vim: set filetype=yaml.ansible :
|
|
#
|
|
## Package: ghostty
|
|
## Description: HW accelerated terminal emulator made with zig
|
|
## Version: 1.3.1
|
|
## Methods: [system, source, appimage]
|
|
## Helpers: [zig, repo, appimage]
|
|
---
|
|
- name: Set ghostty default facts # {{{
|
|
ansible.builtin.set_fact:
|
|
ghostty:
|
|
version: 1.3.1
|
|
base_url: https://releases.files.ghostty.org
|
|
# install methods per distribution
|
|
default:
|
|
methods:
|
|
- source
|
|
pkg_deps: &pkgdeps
|
|
- zig
|
|
build_deps:
|
|
- gtk4
|
|
- libadwaita
|
|
- gtk4-layer-shell
|
|
- pkgconf
|
|
- gettext
|
|
Redhat: &redhat
|
|
methods:
|
|
- source
|
|
- appimage
|
|
pkg_deps: *pkgdeps
|
|
build_deps:
|
|
- gtk4-devel
|
|
- gtk4-layer-shell-devel
|
|
- libadwaita-devel
|
|
- gettext
|
|
AlmaLinux: *redha
|
|
CentOS: *redhat
|
|
Rocky: *redhat
|
|
Debian: &debian
|
|
methods:
|
|
- source
|
|
- appimage
|
|
pkg_deps: *pkgdeps
|
|
build_deps:
|
|
- libgtk-4-dev
|
|
- libgtk4-layer-shell-dev
|
|
- libadwaita-1-dev
|
|
- gettext
|
|
- libxml2-utils
|
|
Ubuntu: *debian
|
|
Raspbian: *debian
|
|
Linux Mint: *debian
|
|
Archlinux: &arch
|
|
methods:
|
|
- system
|
|
- source
|
|
- appimage
|
|
pkg_deps: *pkgdeps
|
|
build_deps:
|
|
- gtk4
|
|
- gtk4-layer-shell
|
|
- libadwaita
|
|
- gettext
|
|
pkgname: ghostty
|
|
Majaro: *arch
|
|
Fedora:
|
|
methods:
|
|
- source
|
|
- appimage
|
|
pkg_deps: *pkgdeps
|
|
build_deps:
|
|
- gtk4-devel
|
|
- gtk4-layer-shell-devel
|
|
- libadwaita-devel
|
|
- gettext
|
|
Alpine:
|
|
methods:
|
|
- system
|
|
- source
|
|
- appimage
|
|
pkg_deps: *pkgdeps
|
|
build_deps:
|
|
- gtk4.0-dev
|
|
- libadwaita-dev
|
|
- pkgconf
|
|
- ncurses
|
|
- gettext
|
|
pkgname: ghostty
|
|
# }}}
|
|
- name: Set ghostty facts
|
|
ansible.builtin.set_fact:
|
|
ghostty:
|
|
methods: "{{ ghostty[distribution].methods | default(_methods['default']) }}"
|
|
source_url: "{{ ghostty.base_url }}/{{ ghostty.version }}/ghostty-{{ ghostty.version }}.tar.gz"
|
|
pkg_deps: "{{ ghostty[distribution].pkg_deps | default(omit) }}"
|
|
- name: Configure ghostty
|
|
block:
|
|
- name: Set ghostty install method
|
|
when:
|
|
- ghostty_imethod is undefined
|
|
ansible.builtin.set_fact:
|
|
ghostty_imethod: "{{ imethod if imethod in ghostty.methods else ghostty.methods[0] }}"
|
|
|
|
- name: Configure ghostty source install
|
|
when:
|
|
- ghostty_imethod == 'source'
|
|
block:
|
|
- name: Append ghostty to pkg_src
|
|
ansible.builtin.set_fact:
|
|
pkg_src: "{{ pkg_src + ghostty.pkg }}"
|
|
pkg_sys: "{{ pkg_sys + ghostty.build_deps }}"
|
|
|
|
- name: Configure ghostty appimage install
|
|
when:
|
|
- ghostty_imethod == 'appimage'
|
|
block:
|
|
- name: Append ghostty to pkg_appimage
|
|
when:
|
|
- ghostty.method == 'appimage'
|
|
ansible.builtin.set_fact:
|
|
pkg_appimage: "{{ pkg_appimage + ghostty }}"
|
|
|
|
- name: Configure ghostty system install
|
|
when:
|
|
- ghostty_imethod == 'system'
|
|
block:
|
|
- name: Queue ghostty to pkg_sys
|
|
ansible.builtin.set_fact:
|
|
pkg_sys: "{{ pkg_sys + ghostty.pkg }}"
|
|
|
|
- name: Finalise ghostty configuration
|
|
ansible.builtin.set_fact:
|
|
__configured: "{{ __configured | combine( { 'ghostty': ghostty_install } ) }}"
|