1.) Download a Nerd Font
2.) Unzip and copy to ~/.fonts
3.) Run the command fc-cache -fv
to manually rebuild the font cache
1.) Download a Nerd Font
2.) Unzip and copy to ~/.fonts
3.) Run the command fc-cache -fv
to manually rebuild the font cache
Thanks.
BTW, It is possible to use
~/.local/share/fonts
instead of~/.fonts
.
Yes on newer versions of ubuntu according to: https://askubuntu.com/questions/3697/how-do-i-install-fonts?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
thx XD
You may want to exclude Windows related versions of the fonts.
Here is my Ansible task to give a hint:
---
- name: Update from git
ansible.builtin.git:
repo: "https://github.com/ryanoasis/nerd-fonts.git"
dest: "{{ ansible_env.HOME }}/src/ikon/nerd-fonts"
depth: 1
force: yes
- name: Select fonts to install
ansible.builtin.find:
recurse: yes
use_regex: yes
paths: "{{ ansible_env.HOME }}/src/ikon/nerd-fonts/patched-fonts"
patterns:
- '^.*?((?!Windows).)*?\.ttf$'
register: fonts_to_install
#- debug: var=fonts_to_install
- ansible.builtin.copy:
dest: "{{ ansible_env.HOME }}/.local/share/fonts/{{ item.path | basename }}"
src: "{{ item.path }}"
remote_src: yes
loop: "{{ fonts_to_install.files }}"
notify:
- update font cache
If you prefer not to checkout too many files from the repo, just use svn to download the folder you want. For example, I just needed Meslo L-DZ Regular
, so I did the following:
svn co --depth=empty https://github.com/ryanoasis/nerd-fonts.git/trunk nerd-fonts
cd nerd-fonts
svn up patched-fonts --depth=empty
svn up patched-fonts/Meslo --depth=empty
svn up patched-fonts/Meslo/L-DZ --depth=empty
svn up patched-fonts/Meslo/L-DZ/Regular --depth=empty
svn up patched-fonts/Meslo/L-DZ/Regular/complete --depth=files
Admittedly a bit repetitive, but depending on your internet connection you would have spent more time achieving the same results with git. You could also decide to write a script for this if you deem it necessary.
All you need to do to keep it up to date is (from the root of the repo):
svn up
I ended up using nerdfonts too:
font pango: MesloLGS NF Regular 10
I basically did this to install the fonts: https://gist.github.com/matthewjberger/7dd7e079f282f8138a9dc3b045ebefa0
Downloaded the fonts and placed them in ~/.fonts
On Debian:
/usr/local/share/fonts/
to install fonts system-wide
~/.local/share/fonts/
or ~/.fonts
to install fonts just for the current user
So, this is what I did to install Meslo Nerd font on Raspberry Pi OS, for my user:
sudo apt install wget fontconfig \
&& wget -P ~/.local/share/fonts https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Meslo.zip \
&& cd ~/.local/share/fonts && unzip Meslo.zip && rm *Windows* && rm Meslo.zip && fc-cache -fv
Thanks
4.) List fira fonts with
fc-list | grep -i "fira"|awk -F: '{print $2}' |sort|uniq
good resource
1 - just copy the bash script bellow and save with [yourname].sh
#/bin/bash # install DroidSansMono Nerd Font --> u can choose another at: https://www.nerdfonts.com/font-downloads echo "[-] Download fonts [-]" echo "https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/DroidSansMono.zip" wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/DroidSansMono.zip unzip DroidSansMono.zip -d ~/.fonts fc-cache -fv echo "done!"2 - Open a terminal and execute the scritpt with:
bash [yourname].sh
This work for me, and select this font in my terminal :D Thank you very much :D
thanks works like a champ
#!/bin/bash
declare -a fonts=(
BitstreamVeraSansMono
CodeNewRoman
DroidSansMono
FiraCode
FiraMono
Go-Mono
Hack
Hermit
JetBrainsMono
Meslo
Noto
Overpass
ProggyClean
RobotoMono
SourceCodePro
SpaceMono
Ubuntu
UbuntuMono
)
version='2.1.0'
fonts_dir="${HOME}/.local/share/fonts"
if [[ ! -d "$fonts_dir" ]]; then
mkdir -p "$fonts_dir"
fi
for font in "${fonts[@]}"; do
zip_file="${font}.zip"
download_url="https://github.com/ryanoasis/nerd-fonts/releases/download/v${version}/${zip_file}"
echo "Downloading $download_url"
wget "$download_url"
unzip "$zip_file" -d "$fonts_dir"
rm "$zip_file"
done
find "$fonts_dir" -name '*Windows Compatible*' -delete
fc-cache -fv
#!/bin/bash declare -a fonts=( BitstreamVeraSansMono CodeNewRoman DroidSansMono FiraCode FiraMono Go-Mono Hack Hermit JetBrainsMono Meslo Noto Overpass ProggyClean RobotoMono SourceCodePro SpaceMono Ubuntu UbuntuMono ) version='2.1.0' fonts_dir="${HOME}/.local/share/fonts" if [[ ! -d "$fonts_dir" ]]; then mkdir -p "$fonts_dir" fi for font in "${fonts[@]}"; do zip_file="${font}.zip" download_url="https://github.com/ryanoasis/nerd-fonts/releases/download/v${version}/${zip_file}" echo "Downloading $download_url" wget "$download_url" unzip "$zip_file" -d "$fonts_dir" rm "$zip_file" done find "$fonts_dir" -name '*Windows Compatible*' -delete fc-cache -fv
This script was the only thing that actually worked for me. Thank you.
Thanks!
@donovan awesome script, TY.
+1 to @donovan 's script, wonderful and easy to read
What is ~/.fonts? Directory?
@p6002 yep, it's a directory
works! thanks
thanks
Well, I'm a beginner in this art of creating scripts, so the script below is certainly not optimized or error-proof, I used a good part of @donovan's code, I just changed the use of wget to a git clone using the sparse option, guaranteeing the most current version of the font and the install described in the official documentation, it can also be changed to the powershell installation but as it is not my case at the moment, I did not use it. In fact, bandwidth consumption is higher because it downloads the repository (even if only partially), something that direct download does not, so there is a certain amount of "waste".
#!/bin/bash
declare -a fonts=(
# BitstreamVeraSansMono
# CodeNewRoman
# DroidSansMono
FiraCode
# FiraMono
# Go-Mono
# Hack
# Hermit
JetBrainsMono
# Meslo
# Noto
# Overpass
# ProggyClean
# RobotoMono
# SourceCodePro
# SpaceMono
# Ubuntu
# UbuntuMono
)
fonts_dir="${HOME}/.local/share/fonts"
if [[ ! -d "$fonts_dir" ]]; then
mkdir -p "$fonts_dir"
fi
echo -e "\e[0;32mScript:\e[0m \e[0;34mClonning\e[0m \e[0;31mNerdFonts\e[0m \e[0;34mrepo (sparse)\e[0m"
git clone --filter=blob:none --sparse git@github.com:ryanoasis/nerd-fonts
cd nerd-fonts
for font in "${fonts[@]}"; do
echo -e "\e[0;32mScript:\e[0m \e[0;34mClonning font:\e[0m \e[0;31m${font}\e[0m"
git sparse-checkout add "patched-fonts/${font}"
echo -e "\e[0;32mScript:\e[0m \e[0;34mInstalling font:\e[0m \e[0;31m${font}\e[0m"
./install.sh "${font}"
done
echo -e "\e[0;32mScript:\e[0m \e[0;34mCleaning the mess...\e[0m"
cd ../
rm -rf nerd-fonts```
Still waiting for proper documentation how to install it
Thanks, but I have already made several approaches to these fonts, hours-long approaches.
There were always unfixable problems, errors, bad characters. Which was frustrating enough, since it's just a theme and should work with a single command.
For now I'm watching the project and waiting for someone to write proper documentation with steps on how to install this theme. Currently it's such a mess there that I think only the author can use it.
It took an embarrassingly long amount of time for me to realize nerd-fonts
the Github repo already comes with an install.sh
script.
git clone --depth 1 https://github.com/ryanoasis/nerd-fonts.git # warning: takes a while
cd nerd-fonts/
./install.sh FiraCode
(or whatever other font you want -- or all of them if you just run ./install.sh
by itself.
Thank you, @hiAndrewQuinn
@hiAndrewQuinn's example should probably be on the main README considering the amount of us that have ended up here.
I still waiting for proper documentation how to install and use it.
In the meantime, I started the rack, I learned how to use Docker, I run services through Docker Compose and several VMs without any problems. But I still can't install the fonts...
1 - just copy the bash script bellow and save with [yourname].sh
2 - Open a terminal and execute the scritpt with: