Skip to content

Instantly share code, notes, and snippets.

@romkatv
Last active September 9, 2023 08:53
Show Gist options
  • Save romkatv/aa7a70fe656d8b655e3c324eb10f6a8b to your computer and use it in GitHub Desktop.
Save romkatv/aa7a70fe656d8b655e3c324eb10f6a8b to your computer and use it in GitHub Desktop.
Install Meslo Powerline font family on Windows
#!/bin/bash
#
# This script installs patched Meslo Powerline font family on Windows.
# The fonts are installed for the current user only. The script must be
# run from WSL.
#
# bash -c "$(curl -fsSL https://gist.githubusercontent.com/romkatv/aa7a70fe656d8b655e3c324eb10f6a8b/raw/install_meslo_wsl.sh)"
#
# If you just want the font files, they are in
# https://github.com/romkatv/dotfiles-public/tree/master/.local/share/fonts/NerdFonts.
set -ueEo pipefail
function install_fonts() {
local dst_dir
dst_dir=$(wslpath $(cmd.exe /c "echo %LOCALAPPDATA%\Microsoft\\Windows\\Fonts" 2>/dev/null | sed 's/\r$//'))
mkdir -p "$dst_dir"
local src
for src in "$@"; do
local file=$(basename "$src")
test -f "$dst_dir/$file" || cp -f "$src" "$dst_dir/"
local win_path
win_path=$(wslpath -w "$dst_dir/$file")
# Install font for the current user. It'll appear in "Font settings".
reg.exe add \
"HKCU\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" \
/v "${file%.*} (TrueType)" /t REG_SZ /d "$win_path" /f 2>/dev/null
done
}
function main() {
local repo
repo="$(mktemp -d)"
trap "rm -rf ${repo@Q}" INT TERM EXIT
git clone https://github.com/romkatv/dotfiles-public.git "$repo"
install_fonts "$repo"/.local/share/fonts/NerdFonts/*.ttf
}
main
echo -e '\033[0;32m'
echo 'Fonts successfully installed.'
echo ''
echo 'To change font in Windows Console Host (the old thing):'
echo ' Right click on the window title -> Properties -> Font and set Font'
echo ' to "MesloLGS NF".'
echo ''
echo 'To change font in Windows Terminal (the new thing):'
echo ' Open Settings (Ctrl+,), search for "fontFace" and set value'
echo ' to "MesloLGS NF" for every profile.'
echo -e '\033[0m'
@anki-code
Copy link

anki-code commented Oct 8, 2019

Just interesting what do you think about https://github.com/railsware/upterm concept (gifs - https://github.com/railsware/upterm/releases)? Popup with autocomplete looks cool.

@romkatv
Copy link
Author

romkatv commented Oct 8, 2019

Just interesting what do you think about https://github.com/railsware/upterm concept (gifs - https://github.com/railsware/upterm/releases)? Popup with autocomplete looks cool.

This is the first time I hear about this project, I don't have any opinion.

FWIW, I use GNOME Terminal 99% of the time and not looking forward to switching terminals on Linux any time soon. It does everything I need, is stable and fast enough. I am looking forward to switching to a decent terminal on Windows once one is developed.

@anki-code
Copy link

Got it. Thanks )

@anki-code
Copy link

Roman, may be you know https://github.com/xonsh/xonsh/ and have some thoughts to share? What do thinks is there ability to realize p10k-like speed up in this project?

@romkatv
Copy link
Author

romkatv commented Oct 17, 2019

Roman, may be you know https://github.com/xonsh/xonsh/

I learned about the existence of xonsh when romkatv/gitstatus#37 was opened.

and have some thoughts to share?

I have none.

What do thinks is there ability to realize p10k-like speed up in this project?

No idea.

@THX1188
Copy link

THX1188 commented Jun 23, 2020

Thank you for providing the install script, my WSL with zsh looks great now!!

@serhiihoroshko
Copy link

Thanks for the script

@sbanders1
Copy link

Very late. However, I was looking through these forums for issues where the tiny little boxes would not appear. Turns out it was because my version of Windows 10 Pro was not activated. I found this out by trying to search for Fonts in the settings, and was unable to search for any of the Nerd Fonts I thought I had downloaded. Activating Windows 10 Pro fixed the problem as soon as I reloaded.

@simbol01
Copy link

Thank you.
Everything working fine now

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