add archlinux installation methods

This commit is contained in:
2026-04-18 12:31:07 -06:00
parent cf20e639f0
commit f94a9cb8e5
13 changed files with 140 additions and 107 deletions

View File

@@ -10,7 +10,12 @@
ansible.builtin.set_fact:
choose:
methods:
- source
Archlinux: [system, source]
default: [source]
- name: Finalise choose default facts
ansible.builtin.set_fact:
choose:
methods: "{{ choose.methods[os_family] | default(choose.methods.defualt) }}"
version: 1.3.7
# }}}
- name: Configure choose

View File

@@ -16,6 +16,7 @@
Debian: clang-12
Darwin: llvm
Alpine: clang19
Archlinux: clang
# }}}
- name: Configure clangd
when:

View File

@@ -17,6 +17,7 @@
Alpine: direnv
Debian: direnv
Darwin: direnv
Archlinux: direnv
install_url: github.com/direnv/direnv
pkg_deps:
- go

View File

@@ -17,6 +17,7 @@
Darwin: fd
Alpine: fd
FreeBSD: fd-find
Archlinux: fd
# }}}
- name: Configure fd
when:

View File

@@ -9,93 +9,62 @@
- 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:
methods:
Archlinux: [system, source, appimage]
Alpine: [system, source, appimage]
default: [source, appimage]
pkgname:
Archlinux: ghostty
default: ghostty
build_deps:
default:
- gtk4
- libadwaita
- gtk4-layer-shell
- pkgconf
- gettext
Redhat: &redhat
methods:
- source
- appimage
pkg_deps: *pkgdeps
build_deps:
RedHat:
- gtk4-devel
- gtk4-layer-shell-devel
- libadwaita-devel
- gettext
AlmaLinux: *redhat
CentOS: *redhat
Rocky: *redhat
Debian: &debian
methods:
- source
- appimage
pkg_deps: *pkgdeps
build_deps:
Debian:
- 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:
Archlinux:
- 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:
Alpine:
- gtk4.0-dev
- libadwaita-dev
- pkgconf
- ncurses
- gettext
pkgname: ghostty
- name: Finalise ghostty default facts
ansible.builtin.set_fact:
ghostty:
version: 1.3.1
base_url: https://releases.files.ghostty.org
methods: "{{ ghostty.methods[os_family] | default(ghostty.methods.default) }}"
pkg_deps: [zig]
pkgname: "{{ ghostty.pkgname[os_family] | default(ghostty.pkgname.default) }}"
build_deps: "{{ ghostty.build_deps[os_family] | default(ghostty.build_deps.default) }}"
# }}}
- name: Set ghostty facts
ansible.builtin.set_fact:
ghostty:
version: "{{ ghostty_version | default(ghostty.version) }}"
methods: "{{ ghostty[distribution].methods | default(_methods['default']) }}"
methods: "{{ ghostty.methods }}"
source_url: "{{ ghostty.base_url }}/{{ ghostty.version }}/ghostty-{{ ghostty.version }}.tar.gz"
archive: "ghostty-{{ ghostty.version }}.tar.gz"
pkg_deps: "{{ ghostty[distribution].pkg_deps | default(omit) }}"
build_deps: "{{ ghostty[distribution].build_deps | default(ghostty.default.build_deps) }}"
pkg_deps: "{{ ghostty.pkg_deps | default(omit) }}"
build_deps: "{{ ghostty.build_deps }}"
- name: Configure ghostty
block:

View File

@@ -14,6 +14,7 @@
RedHat: go
Debian: go
Darwin: go
Archlinux: go
FreeBSD:
default: go
1.26: go126

View File

@@ -9,6 +9,16 @@
- name: Set lazygit default facts # {{{
ansible.builtin.set_fact:
lazygit:
methods:
Archlinux: [system, source]
default: [source]
pkgname:
default: lazygit
- name: Finalise lazygit default facts
ansible.builtin.set_fact:
lazygit:
methods: "{{ lazygit.methods[os_family] | default(lazygit.methods.default) }}"
pkgname: "{{ lazygit.pkgname[os_family] | default(lazygit.pkgname.default) }}"
url: github.com/jesseduffield/lazygit
version: "{{ lazygit_version | default('latest') }}"
pkg_deps:
@@ -22,6 +32,15 @@
ansible.builtin.set_fact:
lazygit_imethod: "{{ imethod if imethod in lazygit.methods else lazygit.methods[0] }}"
- name: Configure lazygit system install
when:
- lazygit_imethod == 'system'
block:
- name: Queue lazygit system install
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [lazygit.pkgname] }}"
lazygit_install: "{{ lazygit_imethod }}={{ lazygit.pkgname }}"
- name: Configure lazygit source install
when:
- lazygit_imethod == 'source'

View File

@@ -10,19 +10,47 @@
ansible.builtin.set_fact:
neovim:
methods:
- source
- system
- appimage
- archive
default: [system, source, appimage, archive]
pkgname:
default: neovim
build_deps:
Archlinux:
- base-devel
- ninja
- curl
RedHat:
- curl
- gcc
- gettext
- glibc-gconv-extra
- make
- ninja-build
Debian:
- build-essential
- curl
- gettext
- ninja-build
Darwin:
- curl
- gettext
- ninja
Alpine:
- build-base
- coreutils
- curl
- gettext-dev
- name: Finalise neovim default facts
ansible.builtin.set_fact:
neovim:
methods: "{{ neovim.methods[os_family] | neovim.methods.default }}"
git_repo: https://github.com/neovim/neovim
appimage:
base_url: https://github.com/neovim/neovim/releases/download
pkg_deps:
- cmake
version: v0.12.1
pkgname:
RedHat: neovim
Debian: neovim
Darwin: neovim
FreeBSD: neovim
pkgname: "{{ neovim.pkgname[os_family] | neovim.pkgname.default }}"
build_files:
- to: lib64/nvim
- to: bin/nvim
@@ -33,32 +61,7 @@
build_pkgdeps:
- cmake
- git
build_deps:
RedHat:
- cmake
- curl
- gcc
- gettext
- glibc-gconv-extra
- make
- ninja-build
Debian:
- build-essential
- cmake
- curl
- gettext
- ninja-build
Darwin:
- cmake
- curl
- gettext
- ninja
Alpine:
- build-base
- cmake
- coreutils
- curl
- gettext-dev
build_deps: "{{ neovim.build_deps[os_family] | neovim.build_deps.default }}"
# }}}
- name: Configure neovim
when:

View File

@@ -6,17 +6,21 @@
## Methods: system
## Helpers: -
---
- name: Set nodejs default facts
- name: Set nodejs default facts # {{{
ansible.builtin.set_fact:
nodejs:
methods:
- system
pkgname:
Archlinux:
- nodejs
- npm
RedHat:
- nodejs
FreeBSD:
- node
- npm
# }}}
- name: Configure nodejs
when:
- "'nodejs' not in __configured"

View File

@@ -14,6 +14,7 @@
pkgname:
RedHat: ripgrep
Debian: ripgrep
Archlinux: ripgrep
# }}}
- name: Configure ripgrep
when:

View File

@@ -10,11 +10,15 @@
ansible.builtin.set_fact:
stow:
methods:
- system
- source
Archlinux: [system, source]
default: [source]
pkgname:
RedHat: stow
Archlinux: stow
default: stow
- name: Finalise stow default facts
ansible.builtin.set_fact:
stow:
methods: "{{ stow.methods[os_family] | stow.methods.default }}"
pkgname: "{{ stow.pkgname[os_family] | stow.pkgname.default }}"
baseurl: https://ftp.gnu.org/gnu/stow
version: 2.4.1
# }}}

View File

@@ -6,11 +6,16 @@
## Methods: [source]
## Helpers: [cargo_build]
---
- name: Configure yazi installation # {{{
- name: Set yazi default facts # {{{
ansible.builtin.set_fact:
yazi:
methods:
- source
default: [source]
Archlinux: [system, source]
- name: Finalise yazi default facts
ansible.builtin.set_fact:
yazi:
methods: "{{ yazi.methods[os_family] | default(yazi.methods.default) }}"
version: 26.1.22
git:
repo: https://github.com/sxyazi/yazi.git
@@ -53,6 +58,15 @@
ansible.builtin.set_fact:
yazi_imethod: "{{ imethod if imethod in yazi.methods else yazi.methods[0] }}"
- name: Configure yazi system install
when:
- yazi_imethod == 'system'
block:
- name: Queue yazi system install
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [yazi.pkgname] }}"
yazi_install: "{{ yazi_imethod }}={{ yazi.pkgname }}"
- name: Configure yazi source install
when:
- yazi_imethod == 'source'

View File

@@ -8,12 +8,21 @@
---
- name: Set zig default facts
ansible.builtin.set_fact:
methods:
- archive
- system
version: "{{ zig_version | default('0.15.2') }}"
archive:
url: https://ziglang.org/download
zig:
methods:
default: [archive]
Archlinux: [system, archive]
pkgname:
default: zig
- name: Finalise zig default facts
ansible.builtin.set_fact:
zig:
methods: "{{ zig.methods[os_family] | default(zig.methods.default) }}"
pkgname: "{{ zig.pkgname[os_family] | default(zig.pkgname.default) }}"
version: "{{ zig_version | default('0.15.2') }}"
archive:
url: https://ziglang.org/download
- name: Configure zig
when:
@@ -29,7 +38,8 @@
when:
- zig_imethod == 'system'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [zig.pkgname[os_family]] }}"
pkg_sys: "{{ pkg_sys + [zig.pkgname] }}"
zig_install: "{{ zig_imethod }}={{ zig.pkgname }}"
- name: Configure zig archive install
when: