Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#!/usr/bin/env bash ### --------------------------------------------------------- ### Directories ### --------------------------------------------------------- NERD_BASE="/usr/share/fonts/nerdfonts" LOCAL_BASE="/usr/share/fonts/local" sudo mkdir -p "$NERD_BASE" sudo mkdir -p "$LOCAL_BASE" TMP_DIR="/tmp/font-installer" mkdir -p "$TMP_DIR" ### --------------------------------------------------------- ### Nerd Fonts (Mono TTF) ### --------------------------------------------------------- TTF_FONTS=( "0xProto" "AdwaitaMono" "BitstreamVeraSansMono" "CascadiaCode" "DejaVuSansMono" "IBMPlexMono" "Mononoki" "FiraCode" "Hack" "IntelOneMono" "JetBrainsMono" "Meslo" "Noto" "Recursive" "SpaceMono" ) ### --------------------------------------------------------- ### Nerd Fonts (OTF) ### --------------------------------------------------------- OTF_FONTS=( "AtkinsonHyperlegibleMono" "CodeNewRoman" "Hermit" "GeistMono" ) echo "Installing Nerd Fonts into: $NERD_BASE" ### --------------------------------------------------------- ### 1. Install TTF-based Nerd Fonts (Mono variants only) ### --------------------------------------------------------- for FONT in "${TTF_FONTS[@]}"; do ZIP="${TMP_DIR}/${FONT}.zip" FONT_DIR="${NERD_BASE}/${FONT}" URL="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${FONT}.zip" echo "Downloading $FONT..." sudo wget -q --show-progress "$URL" -O "$ZIP" echo "Extracting *NerdFontMono*.ttf..." sudo mkdir -p "$FONT_DIR" sudo unzip -j "$ZIP" "*NerdFontMono*.ttf" -d "$FONT_DIR" >/dev/null done ### --------------------------------------------------------- ### 2. Install OTF-based Nerd Fonts ### --------------------------------------------------------- for FONT in "${OTF_FONTS[@]}"; do ZIP="${TMP_DIR}/${FONT}.zip}" FONT_DIR="${NERD_BASE}/${FONT}" URL="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/${FONT}.zip" echo "Downloading $FONT (OTF)..." sudo wget -q --show-progress "$URL" -O "$ZIP" echo "Extracting *.otf..." sudo mkdir -p "$FONT_DIR" sudo unzip -j "$ZIP" "*.otf" -d "$FONT_DIR" >/dev/null done ### --------------------------------------------------------- ### 3. Install Inter (Inter-*.ttf → /usr/share/fonts/local) ### --------------------------------------------------------- echo "Installing Inter..." INTER_ZIP="${TMP_DIR}/inter.zip" sudo wget -q --show-progress \ "https://github.com/rsms/inter/releases/download/v4.1/Inter-4.1.zip" \ -O "$INTER_ZIP" sudo unzip -j "$INTER_ZIP" "extras/ttf/Inter-*.ttf" -d "$LOCAL_BASE" >/dev/null ### --------------------------------------------------------- ### 4. Install Office Code Pro (.ttf → /usr/share/fonts/local) ### --------------------------------------------------------- echo "Installing Office Code Pro..." OCP_ZIP="${TMP_DIR}/officecodepro.zip" sudo wget -q --show-progress \ "https://globalfonts.pro/global_files/64677722a717112392dab2d4/office-code-pro.zip" \ -O "$OCP_ZIP" sudo unzip -j "$OCP_ZIP" "*.ttf" -d "$LOCAL_BASE" >/dev/null ### --------------------------------------------------------- ### 5. Install SF Mono (.otf → /usr/share/fonts/nerdfonts/SFMono) ### --------------------------------------------------------- echo "Installing SF Mono..." SF_DIR="${NERD_BASE}/SFMono" SF_ZIP="${TMP_DIR}/sfmono.zip" sudo mkdir -p "$SF_DIR" sudo wget -q --show-progress \ "https://github.com/epk/SF-Mono-Nerd-Font/archive/refs/tags/v18.0d1e1.0.zip" \ -O "$SF_ZIP" sudo unzip -j "$SF_ZIP" "*.otf" -d "$SF_DIR" >/dev/null ### --------------------------------------------------------- ### Final Cleanup + Font Cache ### --------------------------------------------------------- echo "Cleaning up temporary files..." sudo rm -rf "$TMP_DIR" echo "Updating font cache..." sudo fc-cache -fv echo "All fonts installed successfully."
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)