have a workign copy now

This commit is contained in:
Matthew Stobbs
2026-03-17 16:19:15 -06:00
parent 3c03e5eecf
commit ac0ac25bba
32 changed files with 470 additions and 622 deletions

View File

@@ -31,10 +31,13 @@ argument_specs:
default: system
description:
- Install packages using system package manager when available.
- When a package doesn't have a system install candidate for the host, it uses it's default install method as defined in the pkglist variables called `<pkgname>_install_methods`
- When a package doesn't have a system install candidate for the host,
it uses it's default install method as defined in the pkglist variables called `<pkgname>_install_methods`
- Most packages will be either `system` or `source` installs.
- System installs default to using the system package manager, if possible.
- Source installs download, build and install the package via source code. Source installs could be of different types based on the language. For example; python packages installed using `source` are installed with either pipx (default) or system pip.
- Source installs download, build and install the package via source code.
Source installs could be of different types based on the language.
For example; python packages installed using `source` are installed with either pipx (default) or system pip.
choices:
- system
- source

View File

@@ -4,7 +4,7 @@
block:
- name: Fetch git repo
vars:
path: "{{ path_source }}/{{ pkg.source_dir }}"
path: "{{ pkg.source_dir }}"
repo: "{{ pkg.repo }}"
depth: "{{ pkg.depth | default(1) }}"
force: "{{ pkg.force_git | default(true) }}"
@@ -14,19 +14,19 @@
- name: Build cargo release
ansible.builtin.command:
chdir: "{{ path_source }}/{{ pkg.source_dir }}"
argv: "{{ [cargo, build] + pkg.build_flags }}"
chdir: "{{ pkg.source_dir }}"
argv: "{{ ['cargo', 'build'] + pkg.build_flags }}"
- name: Clean existing install
vars:
files: "{{ pkg.files }}"
ansible.builtin.include_tasks: helpers/clean.yml
ansible.builtin.include_tasks: helpers/clean_install.yml
- name: Install cargo release
block:
- name: Create missing directories
become: "{{ install_become }}"
become_user: "{{ install_become_user }}"
vars:
do_become: "{{ install_become }}"
do_become_user: "{{ install_become_user | default(omit) }}"
source_dir: "{{ pkg.source_dir }}"
ansible.builtin.include_tasks: helpers/install.yml

View File

@@ -18,8 +18,8 @@
## copy anthing (go install, as an example), don't use this.
---
- name: Create directories
become: "{{ install_become }}"
become_user: "{{ install_become_user }}"
become: "{{ do_become }}"
become_user: "{{ do_become_user | default(omit) }}"
loop: "{{ pkg_clean }}"
loop_control:
loop_var: dir

View File

@@ -37,10 +37,6 @@
group: "{{ install_prefix_group }}"
path: "{{ path }}"
- name: Read package configuration
ansible.builtin.include_vars:
file: pkglist.yml
- name: Add needed packages for Fedora
when:
- distribution == 'Fedora'
@@ -70,27 +66,10 @@
ansible.builtin.include_tasks:
file: "pkgs/{{ pkg }}.yml"
- name: Clean installations that require it
ansible.builtin.include_tasks: "helpers/clean_install.yml"
- name: Install go if required
when:
- pkg_go|length > 0
ansible.builtin.include_tasks: pkgs/go.yml
- name: Install rust and cargo if required
when:
- pkg_cargo|length > 0 or
pkg_cargo_build|length > 0
ansible.builtin.include_tasks: pkgs/rust.yml
- name: Ensure pipx is installed
when:
- pkg_pipx|length > 0
block:
- name: Queue pipx install
ansible.builtin.include_tasks: pkgs/pipx.yml
- name: Ensure pipx path exists
become: "{{ install_become }}"
become_user: "{{ install_become_user }}"
@@ -99,11 +78,6 @@
mode: '0755'
path: "{{ path_pipx }}"
- name: Ensure nodejs and npm are installed
when:
- pkg_npm|length > 0
ansible.builtin.include_tasks: pkgs/nodejs.yml
- name: Ensure appimage path exists
when:
- pkg_appimage is defined
@@ -125,11 +99,6 @@
mode: '0755'
path: "{{ path_archive }}"
- name: Depend zig
when:
- pkg_zig|length > 0
ansible.builtin.include_tasks: pkgs/zig.yml
- name: Install pkg_sys list using system package manager
when:
- pkg_sys|length > 0

View File

@@ -19,7 +19,8 @@
Archlinux: ansible-lint
Alpine: ansible-lint
FreeBSD: py311-ansible-lint
pip: ansible_lint
pip:
name: ansible_lint
# }}}
- name: Configure ansible_lint
when:

View File

@@ -2,16 +2,18 @@
#
## Package: cbfmt
## Description: code block formatter
## Version: system
## Version: latest
## Methods: system
## Helpers: -
## Helpers: cargo
---
- name: Set default cbfmt values
ansible.builtin.set_fact:
cbfmt:
install_methods:
- system
- source
pkgname: cbfmt
pkg_deps:
- cargo
- name: Configure cbfmt install
when:
- "'cbfmt' not in __configured"
@@ -22,14 +24,6 @@
ansible.builtin.set_fact:
cbfmt_install_method: "{{ install_method if install_method in cbfmt.install_methods else cbfmt.install_methods[0] }}"
- name: Configure cbfmt system install
when:
- cbfmt_install_method == 'system'
block:
- name: Append cbfmt to system install list
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [cbfmt.pkgname] }}"
- name: Configure cbfmt source install
when:
- cbfmt_install_method == 'source'
@@ -37,7 +31,10 @@
- name: Configure cbfmt cargo install
ansible.builtin.set_fact:
cbfmt_cargo_install:
name: cbfmt
- name: Queue cbfmt cargo install
ansible.builtin.set_fact:
pkg_cargo: "{{ pkg_cargo + [cbfmt_cargo_install] }}"
- name: Finalise cbfmt configuration
ansible.builtin.set_fact:

View File

@@ -11,7 +11,7 @@
checkmake:
install_methods:
- source
go_pkg: github.com/mrtazz/checkmake/cmd/checkmake
go_pkg: github.com/checkmake/checkmake/cmd/checkmake
version: latest
- name: Configure checkmake
when:
@@ -31,6 +31,7 @@
ansible.builtin.set_fact:
checkmake_go_install:
url: "{{ checkmake.go_pkg }}@{{ checkmake.version }}"
bin: "{{ path_bin }}/checkmake"
- name: Queue checkmake source install
ansible.builtin.set_fact:

View File

@@ -6,20 +6,37 @@
## Methods: source
## Helpers: cargo
---
- name: Add choose
- name: Set choose default facts
ansible.builtin.set_fact:
choose:
install_methods:
- source
version: 1.3.7
- name: Configure choose
when:
- "'choose' not in __configured"
block:
- name: Load choose config
ansible.builtin.include_tasks:
file: config/choose.yml
- name: Append choose to pkg_cargo
- name: Set choose install method
when:
- ansible_system == 'Linux'
- choose_install_method is undefined
ansible.builtin.set_fact:
pkg_cargo: "{{ pkg_cargo + [choose] }}"
choose_install_method: "{{ install_method if install_method in choose.install_methods else choose.install_methods[0] }}"
- name: Append choose-rust to pkg_sys
- name: Configure choose source install
when:
- ansible_system == 'Darwin'
- choose_install_method == 'source'
block:
- name: Configure choose cargo install
ansible.builtin.set_fact:
choose_cargo_install:
name: choose
version: "{{ choose.version }}"
- name: Append choose to pkg_cargo
ansible.builtin.set_fact:
pkg_cargo: "{{ pkg_cargo + [choose_cargo_install] }}"
- name: Finalise choose configuration
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + ['choose-rust'] }}"
__configured: "{{ __configured | combine( { 'choose': choose_install_method } ) }}"

View File

@@ -29,9 +29,9 @@
- name: Queue clangd system install
when:
- clangd_install_methods == 'system'
- clangd_install_method == 'system'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + clangd[os_family] }}"
pkg_sys: "{{ pkg_sys + [clangd.pkgname[os_family]] }}"
- name: Finalise clangd configuration
ansible.builtin.set_fact:

View File

@@ -1,6 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Set cmake-format config
ansible.builtin.set_fact:
cmake_format:
pkgs: "{{ pkgconfig.cmake_format.pkgs }}"

View File

@@ -1,4 +1,10 @@
# vim: set filetype=yaml.ansible :
#
## Package: cmake
## Description: build system for c/c++
## Version: system
## Methods: system
## Helpers: -
---
- name: Configure cmake
when:

View File

@@ -1,13 +1,36 @@
# vim: set filetype=yaml.ansible :
#
## Package: cmakelang
## Desciption: QA tools for cmake
## Version: system
## Methods: system
## Helpers: -
---
- name: Set cmakelang default facts
ansible.builtin.set_fact:
cmakelang:
install_methods:
- system
pkgname: cmakelang
- name: Add cmakelang
when:
- cmakelang_configured is undefined
- "'cmakelang' not in __configured"
block:
- name: Add cmakelang to pkg_pipx
- name: Set cmakelang install method
when:
- cmakelang_install_method is undefined
ansible.builtin.set_fact:
pkg_pipx: "{{ pkg_pipx + ['cmakelang'] }}"
cmakelang_install_method: "{{ install_method if install_method in cmakelang.install_methods else cmakelang.install_methods[0] }}"
- name: Set cmakelang_configured
- name: Configure cmakelang system install
when:
- cmakelang_install_method == 'system'
block:
- name: Queue cmakelang for system install
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [cmakelang.pkgname] }}"
- name: Finalise cmakelang configuration
ansible.builtin.set_fact:
cmakelang_configured: true
__configured: "{{ __configured | combine( { 'cmakelang': cmakelang_install_method } ) }}"

View File

@@ -1,13 +1,43 @@
# vim: set filetype=yaml.ansible :
#
## Package: commitlint-cli
## Description: git commit linter to ensure standards are met
## Version: v20.5.0
## Methods: source
## Helpers: npm
---
- name: Add commitlint-cli
when:
- commitlint_cli_configured is undefined
block:
- name: Append commitlint/cli to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + ['@commitlint/cli'] }}"
- name: Set commitlint-cli default facts
ansible.builtin.set_fact:
commitlint_cli:
install_methods:
- source
npm_pkg: '@commitlint/cli'
version: v20.5.0
- name: Set commitlint_cli_configured
- name: Configure commitlint-cli
when:
- "'commitlint-cli' not in __configured"
block:
- name: Set commitlint-cli install method
when:
- commitlint_cli_install_method is undefined
ansible.builtin.set_fact:
commitlint_cli_configured: true
commitlint_cli_install_method: "{{ install_method if install_method in commitlint_cli.install_methods else commitlint_cli.install_methods[0] }}"
- name: Configure commitlint-cli source install
when:
- commitlint_cli_install_method == 'source'
block:
- name: Configure commitlint-cli npm install
ansible.builtin.set_fact:
commitlint_cli_npm_install:
name: "{{ commitlint_cli.npm_pkg }}"
version: "{{ commitlint_cli.version }}"
- name: Append commitlint/cli to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + [commitlint_cli_npm_install] }}"
- name: Finalise commitlint-cli configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'commitlint-cli': commitlint_cli_install_method } ) }}"

View File

@@ -1,13 +1,43 @@
# vim: set filetype=yaml.ansible :
#
## Package: commitlint-config-conventional
## Description: default configuration for conventional commitlint/cli usage
## Version: latest
## Methods: source
## Helpers: npm
---
- name: Add comitlint-config-conventional
when:
- comitlint_config_conventional_configured is undefined
block:
- name: Append commitlit/config-conventional to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + ['@commitlint/config-conventional'] }}"
- name: Set commitlint-config-conventional default facts
ansible.builtin.set_fact:
clcc:
install_methods:
- source
npm_pkg: '@commitlint/config-conventional'
version: v20.5.0
- name: Set comitlint_config_conventional_configured
- name: Configure comitlint-config-conventional
when:
- "'comitlint_config_conventional' not in __configured"
block:
- name: Set commitlint-config-conventional install method
when:
- clcc_install_method is undefined
ansible.builtin.set_fact:
comitlint_config_conventional_configured: true
clcc_install_method: "{{ install_method if install_method in clcc.install_methods else clcc.install_methods[0] }}"
- name: Configure commitlint-config-conventional source install
when:
- clcc_install_method == 'source'
block:
- name: Configure commitlint-config-conventional npm install
ansible.builtin.set_fact:
clcc_npm_install:
name: "{{ clcc.npm_pkg }}"
version: "{{ clcc.version }}"
- name: Append commitlint-config-conventional to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + [clcc_npm_install] }}"
- name: Finalise comitlint-config-conventional configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'commitlint-config-conventional': clcc_install_method } ) }}"

View File

@@ -1,29 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Add consul
block:
- name: Load consul config
ansible.builtin.include_tasks:
file: config/consul.yml
- name: Append consul to pkg_sys
when:
- ansible_system == 'Linux'
notify:
- Depend hashicorp repo
changed_when: true
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + consul.pkgs }}"
- name: Append consul to pkg_tap
when:
- ansible_system == 'Darwin'
notify:
- Depend hashicorp repo
changed_when: true
ansible.builtin.set_fact:
pkg_tap: "{{ pkg_tap + consul.pkgs }}"
- name: Set consul_configured
ansible.builtin.set_fact:
consul_configured: true

View File

@@ -1,13 +1,4 @@
# vim: set filetype=yaml.ansible :
---
- name: Add cssls
when:
- cssls_configured is undefined
block:
- name: Append vscode-langservers-extracted to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}"
- name: Set cssls_configured
ansible.builtin.set_fact:
cssls_configured: true
- name: Pass to vscode-langservers-extracted
ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml

View File

@@ -1,13 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Add curlie
when:
- curlie_configured is undefined
block:
- name: Append curlie to pkg_go
ansible.builtin.set_fact:
pkg_go: "{{ pkg_go + ['github.com/rs/curlie@latest'] }}"
- name: Set curlie_configured
ansible.builtin.set_fact:
curlie_configured: true

View File

@@ -1,21 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Add dbeaver
when:
- dbeaver_configured is undefined
block:
- name: Append dbeaver to pkg_flatpak
when:
- ansible_system == 'Linux'
ansible.builtin.set_fact:
pkg_flatpak: "{{ pkg_flatpak + ['io.dbeaver.DBeaverCommunity'] }}"
- name: Append dbeaver to pkg_cask
when:
- ansible_system == 'Darwin'
ansible.builtin.set_fact:
pkg_cask: "{{ pkg_cask + ['dbeaver-community'] }}"
- name: Set dbeaver_configured
ansible.builtin.set_fact:
dbeaver_configured: true

View File

@@ -1,5 +1,22 @@
# vim: set filetype=yaml.ansible :
#
## Package: direnv
## Description: automatically read env files when changing directories
## Version: latest
## Methods: system
## Helpers: -
---
- name: Set direnv default facts
ansible.builtin.set_fact:
direnv:
install_methods:
- system
pkgname:
RedHat: direnv
Alpine: direnv
Debian: direnv
Darwin: direnv
- name: Configure direnv
when:
- "'direnv' not in __configured"
@@ -14,7 +31,7 @@
when:
- direnv_install_method == "system"
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + ['direnv'] }}"
pkg_sys: "{{ pkg_sys + [direnv.pkgname[os_family]] }}"
- name: Finalize direnv configuration
ansible.builtin.set_fact:

View File

@@ -1,13 +1,40 @@
# vim: set filetype=yaml.ansible :
#
## Package: dockerls
## Description: language server for Dockerfiles/Containerfiles
## Version: latest
## Methods: source
## Helpers: npm
---
- name: Add dockerls
when:
- dockerls_configured is undefined
block:
- name: Append dockerfile-language-server-nodejs to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + ['dockerfile-language-server-nodejs'] }}"
- name: Set dockerls default facts
ansible.builtin.set_fact:
dockerls:
install_methods:
- source
npm_pkg: dockerfile-language-server-nodejs
- name: Set dockerls_configured
- name: Configure dockerls
when:
- "'dockerls' not in _configured"
block:
- name: Set dockerls install method
when:
- dockerls_install_method is undefined
ansible.builtin.set_fact:
dockerls_configured: true
dockerls_install_method: "{{ install_method if install_method in dockerls.install_methods else dockerls.install_methods[0] }}"
- name: Configure dockerls source install
when:
- dockerls_install_method == 'source'
block:
- name: Configure dockerls npm install
ansible.builtin.set_fact:
dockerls_npm_install:
name: "{{ dockerls.npm_pkg }}"
- name: Queue dockerls installation
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + [dockerls_npm_install] }}"
- name: Finalise dockerls configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'dockerls': dockerls_install_method } ) }}"

View File

@@ -1,13 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Add dotenv-linter
when:
- dotenv_linter_configured is undefined
block:
- name: Append dotenv-linter to pkg_cargo
ansible.builtin.set_fact:
pkg_cargo: "{{ pkg_cargo + ['dotenv-linter'] }}"
- name: Set dotenv-linter_configured
ansible.builtin.set_fact:
dotenv_linter_configured: true

View File

@@ -1,13 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Add duf
when:
- duf_configured is undefined
block:
- name: Append duf to pkg_go
ansible.builtin.set_fact:
pkg_go: "{{ pkg_go + ['github.com/muesli/duf@latest'] }}"
- name: Set duf_configured
ansible.builtin.set_fact:
duf_configured: true

View File

@@ -1,19 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Add dust
block:
- name: Append du-dust to pkg_cargo
when:
- ansible_system == 'Linux'
ansible.builtin.set_fact:
pkg_cargo: "{{ pkg_cargo + ['du-dust'] }}"
- name: Append dust to pkg_sys
when:
- ansible_os_family == 'Darwin'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + ['dust'] }}"
- name: Set dust_configured
ansible.builtin.set_fact:
dust_configured: true

View File

@@ -1,5 +0,0 @@
# vim: set filetype=yaml.ansible :
---
- name: Append editorconfig to pkg_sys
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + ['editorconfig'] }}"

View File

@@ -1,13 +1,4 @@
# vim: set filetype=yaml.ansible :
---
- name: Add eslint
when:
- eslint_configured is undefined
block:
- name: Append vscode-langservers-extracted to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}"
- name: Set eslint_configured
ansible.builtin.set_fact:
eslint_configured: true
- name: Pass to vscode-langservers-extracted
ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml

View File

@@ -1,5 +1,16 @@
# vim: set filetype=yaml.ansible :
#
## Package: eza
## Description: modern replacement for ls
## Version: latest
## Methods: source
## Helpers: cargo
---
- name: Set eza default facts
ansible.builtin.set_fact:
eza:
install_methods:
- system
- name: Configure eza
when:
- "'eza' not in __configured"

View File

@@ -11,10 +11,24 @@
flatpak:
install_methods:
- system
pkgname: "{{ pkglist[os_family] }}"
pkgname: flatpak
# }}}
- name: Append flatpak to pkg_sys
- name: Configure flatpak
when:
- ansible_system == 'Linux'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + ['flatpak'] }}"
- "'flatpak' not in __configured"
block:
- name: Set flatpak install method
when:
- flatpak_install_method is undefined
ansible.builtin.set_fact:
flatpak_install_method: "{{ install_method if install_method in flatpak.install_methods else flatpak.install_methods[0] }}"
- name: Append flatpak to pkg_sys
when:
- flatpak_install_method == 'system'
ansible.builtin.set_fact:
pkg_sys: "{{ pkg_sys + [flatpak.pkgname] }}"
- name: Finalise flatpak configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'flatpak': flatpak_install_method } ) }}"

View File

@@ -1,13 +1,4 @@
# vim: set filetype=yaml.ansible :
---
- name: Add htmlls
when:
- htmlls_configured is undefined
block:
- name: Append vscode-langservers-extracted to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}"
- name: Set htmlls_configured
ansible.builtin.set_fact:
htmlls_configured: true
- name: Pass to vscode-langservers-extracted
ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml

View File

@@ -1,13 +1,4 @@
# vim: set filetype=yaml.ansible :
---
- name: Add jsonls
when:
- jsonls_configured is undefined
block:
- name: Append vscode-langservers-extracted to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + ['vscode-langservers-extracted'] }}"
- name: Set jsonls_configured
ansible.builtin.set_fact:
jsonls_configured: true
- name: Pass to vscode-langservers-extracted
ansible.builtin.include_tasks: pkgs/vscode-langservers-extracted.yml

View File

@@ -1,6 +1,173 @@
# vim: set filetype=yaml.ansible :
---
- name: Add nerdfonts
- name: Set default nerdfonts facts # {{{
ansible.builtin.set_fact:
__nerdfonts:
0xProto:
brew: font-0xproto-nerd-font
"3270":
brew: font-3270-nerd-font
Agave:
brew: font-agave-nerd-font
AnonymicePro:
archive: AnonymousPro
brew: font-anonymice-nerd-font
Arimo:
brew: font-arimo-nerd-font
AurulentSansM:
archive: AurulentSansMono
brew: font-aurulent-sans-mono-nerd-font
BigBlueTerm:
archive: BigBlueTerminal
brew: font-bigblue-terminal-nerd-font
BitstromWera:
archive: BitstreamVeraSansMono
brew: font-bitstream-vera-sans-mono-nerd-font
BlexMono:
archive: IBMPlexMono
brew: font-blex-mono-nerd-font
CaskaydiaCove:
archive: CascadiaCode
brew: font-caskaydia-cove-nerd-font
CaskaydiaMono:
archive: CascadiaMono
brew: font-caskaydia-mono-nerd-font
CodeNewRoman:
brew: font-code-new-roman-nerd-font
ComicShannsMono:
brew: font-comic-shanns-mono-nerd-font
CommitMono:
brew: font-commit-mono-nerd-font
Cousine:
brew: font-cousine-nerd-font
D2CodingLigature:
archive: D2Coding
brew: font-d2coding-nerd-font
DaddyTimeMono:
brew: font-daddy-time-mono-nerd-font
DejaVuSansM:
archive: DejaVuSansMono
brew: font-dejavu-sans-mono-nerd-font
DepartureMono:
brew: font-departure-mono-nerd-font
DroidSansM:
archive: DroidSansMono
brew: font-droid-sans-mono-nerd-font
EnvyCodeR:
brew: font-envy-code-r-nerd-font
FantasqueSansM:
archive: FantasqueSansMono
brew: font-fantasque-sans-mono-nerd-font
FiraCode:
brew: font-fira-code-nerd-font
FiraMono:
brew: font-fira-mono-nerd-font
GeistMono:
brew: font-geist-mono-nerd-font
GoMono:
archive: Go-Mono
brew: font-go-mono-nerd-font
GohuFont:
archive: Gohu
brew: font-gohufont-nerd-font
Hack:
brew: font-hack-nerd-font
Hasklug:
archive: Hasklig
brew: font-hasklug-nerd-font
HeavyData:
brew: font-heavy-data-nerd-font
Hurmit:
archive: Hermit
brew: font-hurmit-nerd-font
iMWriting:
archive: IA-Writer
brew: font-im-writing-nerd-font
Inconsolata:
brew: font-inconsolata-nerd-font
InconsolataGo:
brew: font-inconsolata-go-nerd-font
InconsolataLGC:
brew: font-inconsolata-lgc-nerd-font
IntoneMono:
archive: IntelOneMono
brew: font-intone-mono-nerd-font
Iosevka:
brew: font-iosevka-nerd-font
IosevkaTerm:
brew: font-iosevka-term-nerd-font
IosevkaTermSlab:
brew: font-iosevka-term-slab-nerd-font
JetBrainsMono:
brew: font-jetbrains-mono-nerd-font
Lekton:
brew: font-lekton-nerd-font
LiterationMono:
archive: LiberationMono
brew: font-liberation-nerd-font
Lilex:
brew: font-lilex-nerd-font
MartianMono:
brew: font-martian-mono-nerd-font
MesloLG:
archive: Meslo
brew: font-meslo-lg-nerd-font
Monaspice:
archive: Monaspace
brew: font-monaspace-nerd-font
Monofur:
brew: font-monofur-nerd-font
Monoid:
brew: font-monoid-nerd-font
Mononoki:
brew: font-mononoki-nerd-font
M+:
archive: MPlus
brew: font-m+-nerd-font
Noto:
brew: font-noto-nerd-font
OpenDyslexic:
brew: font-open-dyslexic-nerd-font
Overpass:
brew: font-overpass-nerd-font
ProFont:
brew: font-profont-nerd-font
ProggyClean:
brew: font-proggy-clean-tt-nerd-font
RecMono:
archive: Recursive
brew: font-recursive-mono-nerd-font
RobotoMono:
brew: font-roboto-mono-nerd-font
ShureTechMono:
archive: ShareTechMono
brew: font-shure-tech-mono-nerd-font
SauceCodePro:
archive: SourceCodePro
brew: font-sauce-code-pro-nerd-font
SpaceMono:
brew: font-space-mono-nerd-font
Symbols:
archive: NerdFontsSymbolsOnly
brew: font-symbols-only-nerd-font
Terminess:
archive: Terminus
brew: font-terminess-ttf-nerd-font
Tinos:
brew: font-tinos-nerd-font
Ubuntu:
brew: font-ubuntu-nerd-font
UbuntuMono:
brew: font-ubuntu-mono-nerd-font
UbuntuSans:
brew: font-ubuntu-sans-nerd-font
VictorMono:
brew: font-victor-mono-nerd-font
ZedMono:
brew: font-zed-mono-nerd-font
base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download
# }}}
- name: Configure nerdfonts
when:
- "'nerdfonts' not in __configured"
block:

View File

@@ -0,0 +1,42 @@
# vim: set filetype=yaml.ansible :
#
## Package: vscode-langservers-extracted
## Descriptions: language servers extracted from vscode
## Version: latest
## Methods: source
## Helpers: npm
---
- name: Set vscode-langservers-extracted default facts
ansible.builtin.set_fact:
vscode_langservers_extracted:
install_methods:
- source
npm_pkg: '@zed-industries/vscode-langservers-extracted'
version: 4.10.7
- name: Configure vscode-langservers-extracted
when:
- "'vscode-langservers-extracted' not in __configured"
block:
- name: Set vscode-langservers-extracted install method
when:
- vscode_langservers_extracted_install_method is undefined
ansible.builtin.set_fact:
vscode_langservers_extracted_install_method: "{{ install_method if install_method in vscode_langservers_extracted.install_methods else vscode_langservers_extracted.install_methods[0] }}"
- name: Configure vscode-langservers-extracted source install
when:
- vscode_langservers_extracted_install_method == 'source'
block:
- name: Configure vscode-langservers-extracted npm install
ansible.builtin.set_fact:
vscode_langservers_extracted_npm_install:
name: "{{ vscode_langservers_extracted.npm_pkg }}"
version: "{{ vscode_langservers_extracted.version }}"
- name: Queue vscode-langservers-extracted install
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + [vscode_langservers_extracted_npm_install] }}"
- name: Finalise vscode-langservers-extracted configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'vscode-langservers-extracted': vscode_langservers_extracted_install_method } ) }}"

View File

@@ -1,352 +0,0 @@
# vim: set filetype=yaml.ansible :
---
## Package level variables for per distribution install names
## Format:
## [pkgname]:
## [os_family]:
## name: distro pkgname
## build_deps: [list of deps for building], only included if required
alacritty:
RedHat:
name: alacritty
build_deps:
- fontconfig-devel
- freetype-devel
- g++
- libxcb-devel
- libxkbcommon-devel
- desktop-file-utils
Debian:
name: alacritty
build_deps:
- g++
- pkg-config
- libfontconfig1-dev
- libxcb-xfixes0-dev
- libxkbcommon-dev
- python3
- libfreetype6-dev
- desktop-file-utils
Alpine:
name: alacritty
build_deps:
- pkgconf
- freetype-dev
- fontconfig-dev
- python3
- libxcb-dev
- g++
- libxkbcommon-dev
- desktop-file-utils
Archlinux:
name: alacritty
build_deps:
- freetype2
- fontconfig
- pkg-config
- make
- libxcb
- libxkbcommon
- python
- desktop-file-utils
FreeBSD:
- freetype2
- fontconfig
- pkgconf
- python3
- desktop-file-utils
flatpak:
name: flatpak
## Restrictions for package install methods.
## The first item is the default method. If only
## one method exists, all others are ignored.
bat: # {{{
install_methods:
- system
pkgname:
RedHat: bat
Debian: bat
Archlinux: bat
Alpine: bat
Darwin: bat
FreeBSD: bat
# }}}
cargo: # {{{
install_methods:
- system
# }}}
cmake: # {{{
install_methods:
- system
# }}}
direnv: # {{{
install_methods:
- system
# }}}
eza:
install_methods:
- source
fzf:
install_methods:
- system
git:
install_methods:
- system
go:
install_methods:
- archive
- system
hyprland:
install_methods:
- source
neovim: # {{{
git_repo: https://github.com/neovim/neovim
appimage:
base_url: https://github.com/neovim/neovim/releases/download
pkgname:
RedHat: neovim
Debian: neovim
Darwin: neovim
FreeBSD: neovim
build_files:
- lib64/nvim
- bin/nvim
- share/nvim
- share/applications/nvim.desktop
- share/icons/hicolor/128x128/apps/nvim.png
- share/man/man1/nvim.1
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
install_methods:
- source
- system
- appimage
- archive
# }}}
nerdfonts:
install_methods:
- archive
- system
nodejs:
install_methods:
- system
pkgname:
Linux: nodejs
Darwin: node
pkg_deps:
Linux:
- npm
- sqlite
rust:
install_methods:
- system
starship:
install_methods:
- source
yazi:
install_methods:
- source
- cargo
zoxide:
install_methods:
- system
zsh:
install_methods:
- system
## Package specific configuration that never need to be set by the installer
__nerdfonts: # {{{
0xProto:
brew: font-0xproto-nerd-font
"3270":
brew: font-3270-nerd-font
Agave:
brew: font-agave-nerd-font
AnonymicePro:
archive: AnonymousPro
brew: font-anonymice-nerd-font
Arimo:
brew: font-arimo-nerd-font
AurulentSansM:
archive: AurulentSansMono
brew: font-aurulent-sans-mono-nerd-font
BigBlueTerm:
archive: BigBlueTerminal
brew: font-bigblue-terminal-nerd-font
BitstromWera:
archive: BitstreamVeraSansMono
brew: font-bitstream-vera-sans-mono-nerd-font
BlexMono:
archive: IBMPlexMono
brew: font-blex-mono-nerd-font
CaskaydiaCove:
archive: CascadiaCode
brew: font-caskaydia-cove-nerd-font
CaskaydiaMono:
archive: CascadiaMono
brew: font-caskaydia-mono-nerd-font
CodeNewRoman:
brew: font-code-new-roman-nerd-font
ComicShannsMono:
brew: font-comic-shanns-mono-nerd-font
CommitMono:
brew: font-commit-mono-nerd-font
Cousine:
brew: font-cousine-nerd-font
D2CodingLigature:
archive: D2Coding
brew: font-d2coding-nerd-font
DaddyTimeMono:
brew: font-daddy-time-mono-nerd-font
DejaVuSansM:
archive: DejaVuSansMono
brew: font-dejavu-sans-mono-nerd-font
DepartureMono:
brew: font-departure-mono-nerd-font
DroidSansM:
archive: DroidSansMono
brew: font-droid-sans-mono-nerd-font
EnvyCodeR:
brew: font-envy-code-r-nerd-font
FantasqueSansM:
archive: FantasqueSansMono
brew: font-fantasque-sans-mono-nerd-font
FiraCode:
brew: font-fira-code-nerd-font
FiraMono:
brew: font-fira-mono-nerd-font
GeistMono:
brew: font-geist-mono-nerd-font
GoMono:
archive: Go-Mono
brew: font-go-mono-nerd-font
GohuFont:
archive: Gohu
brew: font-gohufont-nerd-font
Hack:
brew: font-hack-nerd-font
Hasklug:
archive: Hasklig
brew: font-hasklug-nerd-font
HeavyData:
brew: font-heavy-data-nerd-font
Hurmit:
archive: Hermit
brew: font-hurmit-nerd-font
iMWriting:
archive: IA-Writer
brew: font-im-writing-nerd-font
Inconsolata:
brew: font-inconsolata-nerd-font
InconsolataGo:
brew: font-inconsolata-go-nerd-font
InconsolataLGC:
brew: font-inconsolata-lgc-nerd-font
IntoneMono:
archive: IntelOneMono
brew: font-intone-mono-nerd-font
Iosevka:
brew: font-iosevka-nerd-font
IosevkaTerm:
brew: font-iosevka-term-nerd-font
IosevkaTermSlab:
brew: font-iosevka-term-slab-nerd-font
JetBrainsMono:
brew: font-jetbrains-mono-nerd-font
Lekton:
brew: font-lekton-nerd-font
LiterationMono:
archive: LiberationMono
brew: font-liberation-nerd-font
Lilex:
brew: font-lilex-nerd-font
MartianMono:
brew: font-martian-mono-nerd-font
MesloLG:
archive: Meslo
brew: font-meslo-lg-nerd-font
Monaspice:
archive: Monaspace
brew: font-monaspace-nerd-font
Monofur:
brew: font-monofur-nerd-font
Monoid:
brew: font-monoid-nerd-font
Mononoki:
brew: font-mononoki-nerd-font
M+:
archive: MPlus
brew: font-m+-nerd-font
Noto:
brew: font-noto-nerd-font
OpenDyslexic:
brew: font-open-dyslexic-nerd-font
Overpass:
brew: font-overpass-nerd-font
ProFont:
brew: font-profont-nerd-font
ProggyClean:
brew: font-proggy-clean-tt-nerd-font
RecMono:
archive: Recursive
brew: font-recursive-mono-nerd-font
RobotoMono:
brew: font-roboto-mono-nerd-font
ShureTechMono:
archive: ShareTechMono
brew: font-shure-tech-mono-nerd-font
SauceCodePro:
archive: SourceCodePro
brew: font-sauce-code-pro-nerd-font
SpaceMono:
brew: font-space-mono-nerd-font
Symbols:
archive: NerdFontsSymbolsOnly
brew: font-symbols-only-nerd-font
Terminess:
archive: Terminus
brew: font-terminess-ttf-nerd-font
Tinos:
brew: font-tinos-nerd-font
Ubuntu:
brew: font-ubuntu-nerd-font
UbuntuMono:
brew: font-ubuntu-mono-nerd-font
UbuntuSans:
brew: font-ubuntu-sans-nerd-font
VictorMono:
brew: font-victor-mono-nerd-font
ZedMono:
brew: font-zed-mono-nerd-font
base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download
# }}}