Skip to content

Instantly share code, notes, and snippets.

@matthewjberger
Last active March 9, 2026 18:36
Show Gist options
  • Select an option

  • Save matthewjberger/7dd7e079f282f8138a9dc3b045ebefa0 to your computer and use it in GitHub Desktop.

Select an option

Save matthewjberger/7dd7e079f282f8138a9dc3b045ebefa0 to your computer and use it in GitHub Desktop.
Install a nerd font on ubuntu

1.) Download a Nerd Font

2.) Unzip and copy to ~/.fonts

3.) Run the command fc-cache -fv to manually rebuild the font cache

@miiiladiii244
Copy link

#!/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

Thank you so much!

@2korzhik
Copy link

2korzhik commented Apr 7, 2025

I made a small, but useful to me, change to @donovan code. I added code to look up the latest version of nerd fonts and download those.

No need to introduce dependency on curl and jq. With proper download_url wget will be automatically redirected to the latest version
download_url="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${zip_file}"

@benkenawell
Copy link

Since I just loaded Ubuntu on a new computer, had trouble and found this page, I'll add that the instructions at the top are great except unzipping didn't put them in a folder for me, so neovim/lazyvim didn't seem to load them properly. To get it to load, I had to put it into a folder inside the font folder. For example, after downloading FiraCode Nerd Font I went to my Downloads folder and ran...

mkdir -p ~/.local/share/fonts      # create folder to load fonts into
mkdir FiraCode                     # matches the name of the zip file
mv ./FiraCode.zip ./FiraCode       # move the zip into the new folder
cd FiraCode                        # change directory into the folder
unzip FiraCode.zip                 # unzip into the folder
rm FiraCode.zip                    # delete the zip file, we don't need it anymore
cd ..                              # change directory back up to Downloads
mv ./FiraCode ~/.local/share/fonts # move our new font folder into the font folder we created at the beginning
fc-cache -fv                       # reload the font-cache

Very manual, but I don't think I should need to update these very often!

@WhateverMO
Copy link

I made a small, but useful to me, change to @donovan code. I added code to look up the latest version of nerd fonts and download those.我对代码做了一个小的但对我有用的更改。我添加了代码来查找最新版本的 nerd 字体并下载它们。

No need to introduce dependency on curl and jq. With proper download_url wget will be automatically redirected to the latest version无需引入对 curljq 的依赖。通过适当的 download_url wget 将自动重定向到最新版本 download_url="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${zip_file}"download_url=“https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${zip_file}

i tested use latest URL it not found

@pha5matis

thank you so much, it's good version

@kodejeet
Copy link

worked for me if someone is on the new TLS ubuntu

mkdir -p ~/.local/share/fonts
cd /tmp
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraCode.zip
unzip FiraCode.zip -d ~/.local/share/fonts
fc-cache -fv

@nscarlson
Copy link

Don't bother with any of these crazy scripts. Instructions in original post is all you need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment