install_fonts_v2.sh
  1. #!/usr/bin/env bash
  2.  
  3. ### ---------------------------------------------------------
  4. ### Directories
  5. ### ---------------------------------------------------------
  6.  
  7. NERD_BASE="/usr/share/fonts/nerdfonts"
  8. LOCAL_BASE="/usr/share/fonts/local"
  9.  
  10. sudo mkdir -p "$NERD_BASE"
  11. sudo mkdir -p "$LOCAL_BASE"
  12.  
  13. TMP_DIR="/tmp/font-installer"
  14. mkdir -p "$TMP_DIR"
  15.  
  16.  
  17. ### ---------------------------------------------------------
  18. ### Nerd Fonts (Mono TTF)
  19. ### ---------------------------------------------------------
  20.  
  21. TTF_FONTS=(
  22. "0xProto"
  23. "AdwaitaMono"
  24. "BitstreamVeraSansMono"
  25. "CascadiaCode"
  26. "DejaVuSansMono"
  27. "IBMPlexMono"
  28. "Mononoki"
  29. "FiraCode"
  30. "Hack"
  31. "IntelOneMono"
  32. "JetBrainsMono"
  33. "Meslo"
  34. "Noto"
  35. "Recursive"
  36. "SpaceMono"
  37. )
  38.  
  39. ### ---------------------------------------------------------
  40. ### Nerd Fonts (OTF)
  41. ### ---------------------------------------------------------
  42.  
  43. OTF_FONTS=(
  44. "AtkinsonHyperlegibleMono"
  45. "CodeNewRoman"
  46. "Hermit"
  47. "GeistMono"
  48. )
  49.  
  50. echo "Installing Nerd Fonts into: $NERD_BASE"
  51.  
  52. ### ---------------------------------------------------------
  53. ### 1. Install TTF-based Nerd Fonts (Mono variants only)
  54. ### ---------------------------------------------------------
  55.  
  56. for FONT in "${TTF_FONTS[@]}"; do
  57. ZIP="${TMP_DIR}/${FONT}.zip"
  58. FONT_DIR="${NERD_BASE}/${FONT}"
  59. URL="github.com
  60.  
  61. echo "Downloading $FONT..."
  62. sudo wget -q --show-progress "$URL" -O "$ZIP"
  63.  
  64. echo "Extracting *NerdFontMono*.ttf..."
  65. sudo mkdir -p "$FONT_DIR"
  66. sudo unzip -j "$ZIP" "*NerdFontMono*.ttf" -d "$FONT_DIR" >/dev/null
  67. done
  68.  
  69.  
  70. ### ---------------------------------------------------------
  71. ### 2. Install OTF-based Nerd Fonts
  72. ### ---------------------------------------------------------
  73.  
  74. for FONT in "${OTF_FONTS[@]}"; do
  75. ZIP="${TMP_DIR}/${FONT}.zip}"
  76. FONT_DIR="${NERD_BASE}/${FONT}"
  77. URL="github.com
  78.  
  79. echo "Downloading $FONT (OTF)..."
  80. sudo wget -q --show-progress "$URL" -O "$ZIP"
  81.  
  82. echo "Extracting *.otf..."
  83. sudo mkdir -p "$FONT_DIR"
  84. sudo unzip -j "$ZIP" "*NerdFontMono*.otf" -d "$FONT_DIR" >/dev/null
  85. done
  86.  
  87.  
  88. ### ---------------------------------------------------------
  89. ### 3. Install Inter (Inter-*.ttf → /usr/share/fonts/local)
  90. ### ---------------------------------------------------------
  91.  
  92. echo "Installing Inter..."
  93. INTER_ZIP="${TMP_DIR}/inter.zip"
  94.  
  95. sudo wget -q --show-progress \
  96. -O "$INTER_ZIP"
  97.  
  98. sudo unzip -j "$INTER_ZIP" "extras/ttf/Inter-*.ttf" -d "$LOCAL_BASE/Inter" >/dev/null
  99.  
  100.  
  101. ### ---------------------------------------------------------
  102. ### 4. Install Office Code Pro (.ttf → /usr/share/fonts/local)
  103. ### ---------------------------------------------------------
  104.  
  105. echo "Installing Office Code Pro..."
  106. OCP_ZIP="${TMP_DIR}/officecodepro.zip"
  107.  
  108. sudo wget -q --show-progress \
  109. "https://globalfonts.pro/global_files/64677722a717112392dab2d4/office-code-pro.zip" \
  110. -O "$OCP_ZIP"
  111.  
  112. sudo unzip -j "$OCP_ZIP" "*.ttf" -d "$LOCAL_BASE/OfficeCodePro" >/dev/null
  113.  
  114.  
  115. ### ---------------------------------------------------------
  116. ### 5. Install SF Mono (.otf → /usr/share/fonts/nerdfonts/SFMono)
  117. ### ---------------------------------------------------------
  118.  
  119. echo "Installing SF Mono..."
  120. SF_DIR="${NERD_BASE}/SFMono"
  121. SF_ZIP="${TMP_DIR}/sfmono.zip"
  122.  
  123. sudo mkdir -p "$SF_DIR"
  124.  
  125. sudo wget -q --show-progress \
  126. -O "$SF_ZIP"
  127.  
  128. sudo unzip -j "$SF_ZIP" "*.otf" -d "$SF_DIR/SFMono" >/dev/null
  129.  
  130.  
  131. ### ---------------------------------------------------------
  132. ### Final Cleanup + Font Cache
  133. ### ---------------------------------------------------------
  134.  
  135. echo "Cleaning up temporary files..."
  136. sudo rm -rf "$TMP_DIR"
  137.  
  138. echo "Updating font cache..."
  139. sudo fc-cache -fv
  140.  
  141. echo "All fonts installed successfully."
  142.  
Pasted 2026-05-09 12:42:03

Short link:

VicePaste is a public paste platform.

Login or Register to edit, delete and keep track of your pastes and more.