Posts tagged: ansible
All posts with the tag "ansible"
Lately I’ve been on a journey to really clean up my dotfiles, and I was completely missing fonts. I noticed jumping into a new vm I had a bunch of broken devicons when using Telescope with the devicons plugins.
This is one of those things that can be a total pain to get right on some systems, and it’s so nice when it’s just there for you pretty much out of the box.
- make sure your user fonts directory exists
- chech if the font you want exists on your machine
- download and unzip fonts into the fonts directory
- repeat 2-3 for all the fonts you use on your system
- name: ensure fonts directory
file:
path: "{{ lookup('env', 'HOME') }}/.fonts"
state: directory
- name: Hack exists
shell: "ls {{ lookup('env', 'HOME') }}/.fonts/Hack*Nerd*Font*Complete*"
register: hack_exists
ignore_errors: yes
- name: Download Hack
when: hack_exists is failed
ansible.builtin.unarchive:
src: https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Hack.zip
dest: "{{ lookup('env', 'HOME') }}/.fonts/"
remote_src: yes
https://www.youtube.com/watch?v=2MEmsinxRK4
I made a YT based on this post
Links #
- ansible docs for builtin.unarchive
Setup a yaml schema | yamlls for a silky smooth setup
check out how I install yamlls using ansible
Part of my neovim setup requires having the black python formatter
installed and callable. I install it with pipx so that I don’t have
to manage a virtual environment and have it available everywhere. So
far this works well for me, if there are ever breaking changes I may
need to rethink this.
re-installing a bunch of things that are already installed can be quite a waste and really add up to my ansible run time, so for most of my ansible tasks that install a command like this I have been following this pattern.
- check if the command is installed with
command -v <command> - register that step
- ignore if that step fails
- add a
when: <xxx>_exists is failedcondition to the step that installs that command.
- name: check is black installed
shell: command -v black
register: black_exists
ignore_errors: yes
- name: install black
when: black_exists is failed
shell: pipx install black
https://www.youtube.com/watch?v=MCFg6-W5SBI
I made a video based on this post, check it out if its your thing