restructuring for easier maintenance

- creating src packages when things can't be installed via
  actual system package
- neovim srcpkg is being worked on now
This commit is contained in:
Matthew Stobbs
2025-01-19 14:10:41 -07:00
parent 985da518b4
commit c62d4e1977
135 changed files with 262 additions and 242 deletions

0
tasks/build/.crates.toml Normal file
View File

View File

17
tasks/build/alacritty.yml Normal file
View File

@@ -0,0 +1,17 @@
---
- ansible.builtin.include_vars:
file: alacritty.yml
name: _alacritty
- name: build and install alacritty
become: true
ansible.builtin.command:
cmd:
- cargo
- install
- --root
- /usr/local
- --git
- https://github.com/alacritty/alacritty.git
- --tag
- "v{{ _alacritty.version }}"

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec={{ _neovide.install_prefix }}/bin/neovide
Name=Neovide
Icon={{ _neovide.install_prefix }}/share/icons/neovide.png

46
tasks/build/go.yml Normal file
View File

@@ -0,0 +1,46 @@
---
- ansible.buildin.include_vars:
file: go.yml
name: _go
- name: set go arch
ansible.builtin.set_fact:
arch: "{{ _go.archmap[ansible_architecture] }}"
- name: set go Filename
ansible.builtin.set_fact:
go_archive: "go{{ _go.version }}.linux-{{ arch }}.tar.gz"
tags:
- dev
- go
- debug
- name: create temp path
ansible.builtin.tempfile:
state: directory
prefix: go_dl.
register: d_go_dl_tmp
- name: download go archive
become: true
ansible.builtin.get_url:
dest: "{{ d_go_dl_tmp.path }}/{{ go_archive }}"
url: "https://go.dev/dl/{{ go_archive }}"
checksum: "{{ _go[versions.go].Linux[arch] }}"
decompress: false
tags:
- dev
- go
- name: ensure go install dir exists
become: true
ansible.builtin.file:
path: "{{ _go.install_path }}"
state: directory
- name: extract go package for Linux
become: true
ansible.builtin.unarchive:
dest: "{{ _go.install_path }}"
src: "{{ d_go_dl_tmp.path }}/{{ go_archive }}"
remote_src: true

29
tasks/build/neovide.yml Normal file
View File

@@ -0,0 +1,29 @@
---
- ansible.builtin.include_vars:
file: neovide.yml
name: _neovide
- name: build and install neovide
become: true
ansible.builtin.command:
cmd:
- cargo
- install
- --root
- "{% if ansible_os_family != 'Linux' %}.{% else %}{{ _neovide.install_prefix }}"
- --git
- https://github.com/neovide/neovide.git
- --tag
- "{{ _neovide.version }}"
- name: Copy neovide icon
become: true
ansible.builtin.copy:
src: neovide/icon.png
dest: "{{ _neovide.install_prefix }}/share/icons/neovide.png"
- name: Copy neovide.desktop
become: true
ansible.builtin.templatefile:
src: neovide/neovide.desktop
dest: "{{ _neovide.install_prefix }}/share/applications/neovide.desktop"

36
tasks/build/neovim.yml Normal file
View File

@@ -0,0 +1,36 @@
- ansible.builtin.include_vars:
file: neovim.yml
name: _neovim
- name: create temp path
ansible.builtin.tempfile:
state: directory
prefix: nvim.
register: d_nvim_tmp
- name: clone neovim git repository
ansible.builtin.git:
depth: 1
dest: "{{ d_nvim_tmp.path }}/neovim"
repo: "{{ _neovim.git_repo }}"
version: "v{{ _neovim.version }}"
- name: build neovim
ansible.builtin.command:
chdir: "{{ d_nvim_tmp.path }}/neovim"
cmd:
- make
- "CMAKE_BUILD_Type={{ _neovim.build_type }}"
- "CMAKE_INSTALL_PREFIX={{ _neovim.install_prefix }}"
- name: install neovim appimage
become: true
ansible.builtin.get_url:
url: https://github.com/neovim/neovim/releases/download/v{{ _neovim.version }}/nvim.appimage
dest: /usr/local/bin/nvim
checksum: sha256:6a021e9465fe3d3375e28c3e94c1c2c4f7d1a5a67e4a78cf52d18d77b1471390
tags:
- RedHat
- linux
- package

33
tasks/build/nerdfonts.yml Normal file
View File

@@ -0,0 +1,33 @@
# Install nerdfonts for each platform
---
- name: set install path for non-system installs
ansible.builtin.set_fact:
nerdfont_install_path: "{{ lookup('ansible.builtin.env', 'HOME') }}/.local/share/fonts"
when: not nerdfonts_system_install
- name: set install path for system wide installs
ansible.builtin.set_fact:
nerdfont_install_path: "/usr/local/share/fonts"
when: nerdfonts_system_install
- name: create nerdfonts directories
ansible.builtin.file:
path: "{{ nerdfonts_install_path }}/{{ font.name }}"
state: directory
become: nerdfonts_system_install
loop: "{{ nerdfonts }}"
loop_control:
loop_var: font
register: nerdfont_result
- name: Download and extract nerdfonts
ansible.builtin.unarchive:
creates: "{{ nerdfont_install_path }}/{{ font.name }}/README.md"
src: "https://github.com/ryanoasis/nerd-fonts/releases/latest/download/{{ font.name }}.tar.xz"
dest: "{{ nerdfont_install_path }}/{{ font.name }}"
remote_src: true
when: nerdfont_result is changed
become: nerdfonts_system_install
loop: "{{ nerdfonts }}"
loop_control:
loop_var: font

27
tasks/build/nushell.yml Normal file
View File

@@ -0,0 +1,27 @@
---
- name: install nushell via cargo
become: true
ansible.builtin.command:
cmd:
- cargo
- install
- --root
- "{{ _nushell.install_prefix }}"
- "{{ nuitem }}"
- --locked
loop_control:
loop_var: nuitem
loop:
- nu
- nu_plugin_inc
- nu_plugin_polars
- nu_plugin_gstat
- nu_plugin_formats
- nu_plugin_query
- nu_plugin_highlight
- nu_plugin_json_path
- nu_plugin_net
- nu_plugin_prometheus
- nu_plugin_qr_maker
- nu_plugin_rpm
- nu_plugin_semver

16
tasks/build/zig.yml Normal file
View File

@@ -0,0 +1,16 @@
---
- name: download zig archive
ansible.builtin.set_fact:
zig_pkg: "zig-linux-{{ ansible_archtecture }}-{{ versions.zig }}.tar.xz"
- name: create temp path
ansible.builtin.tempfile:
state: directory
prefix: zig_dl.
register: d_zig_dl_tmp
- name: download zig archive
ansible.builtin.get_url:
dest: "{{ d_zig_dl_tmp.path }}/{{ zig_pkg }}"
url: "{{ _zig.base_url }}/{{ zig_pkg }}"
decompress: false