Files
ansible_role_package/tasks/pkgs/nerdfonts.yml
Matthew Stobbs 1eae6eb0db fixed remaining issues
added pipx and ripgrep back. not sure where they went in the first place
2026-04-13 15:19:33 -06:00

236 lines
7.0 KiB
YAML

# vim: set filetype=yaml.ansible :
#
## Package: nerdfonts
## Description: Monospace fonts that are attractive for developers
## Version: latest
## Methods: archive
## Helpers: nerdfont_config, archive
---
- name: Set default nerdfonts facts # {{{
ansible.builtin.set_fact:
nerdfonts:
methods:
Linux:
- archive
Darwin:
- system
install_path: share/fonts
base_url: https://github.com/ryanoasis/nerd-fonts/releases/latest/download
install_list: "{{ nerdfonts_install_list | default(['JetBrainsMono', 'FiraCode', 'Symbols']) }}"
__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:
- name: Set nerdfonts install method
when:
- nerdfonts_imethod is undefined
ansible.builtin.set_fact:
nerdfonts_imethod: "{{ imethod if imethod in nerdfonts.methods[system] else nerdfonts.methods[system][0] }}"
- name: Configure nerdfonts archive install
when:
- nerdfonts_imethod == 'archive'
block:
- name: Create nerdfonts directories
become: "{{ install_become }}"
become_user: "{{ install_become_user }}"
ansible.builtin.file:
state: directory
mode: '0755'
path: "{{ install_prefix }}/{{ nerdfonts.install_path }}"
owner: "{{ install_prefix_owner }}"
group: "{{ install_prefix_group }}"
- name: Configure nerdfonts archive install
when:
- nerdfonts_install_list|length > 0
loop: "{{ nerdfonts.install_list }}"
loop_control:
loop_var: nf
ansible.builtin.include_tasks: helpers/nerdfont_config.yml
- name: Configure nerdfonts system install
when:
- nerdfonts_imethod == 'system'
block:
- name: Append nerdfonts to pkg_cask
loop: "{{ nerdfonts.install_list }}"
loop_control:
loop_var: nf
ansible.builtin.set_fact:
pkg_cask: "{{ pkg_cask + [__nerdfonts[nf].brew] }}"
- name: Finalise nerdfonts archive install
ansible.builtin.set_fact:
nerdfonts_install: "{{ nerdfonts_imethod }}={{ nerdfonts.install_list }}"
- name: Set nerdfonts_configured
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'nerdfonts': nerdfonts_install } ) }}"