5 changed files with 81 additions and 2 deletions
@ -0,0 +1,42 @@ |
|||||||
|
#!/bin/env bash |
||||||
|
# ensure-locale.sh |
||||||
|
# Ensures a UTF-8 locale is available and exported (works safely on hosts and in containers). |
||||||
|
|
||||||
|
ensure_utf8_locale() { |
||||||
|
# If already UTF-8, nothing to do |
||||||
|
if locale | grep -qi 'utf-8'; then |
||||||
|
return 0 |
||||||
|
fi |
||||||
|
|
||||||
|
# If en_US.UTF-8 (or equivalent) exists, just use it |
||||||
|
if locale -a 2>/dev/null | grep -qi 'en_US\.utf8'; then |
||||||
|
export LANG=en_US.UTF-8 |
||||||
|
export LC_ALL=en_US.UTF-8 |
||||||
|
return 0 |
||||||
|
fi |
||||||
|
|
||||||
|
# Try to generate one if possible (Debian/Ubuntu) |
||||||
|
if command -v locale-gen >/dev/null 2>&1; then |
||||||
|
echo "[ensure-locale] Generating en_US.UTF-8 locale..." |
||||||
|
locale-gen en_US.UTF-8 2>/dev/null || true |
||||||
|
# If update-locale exists, register it |
||||||
|
command -v update-locale >/dev/null 2>&1 && update-locale LANG=en_US.UTF-8 || true |
||||||
|
export LANG=en_US.UTF-8 |
||||||
|
export LC_ALL=en_US.UTF-8 |
||||||
|
return 0 |
||||||
|
fi |
||||||
|
|
||||||
|
# Alpine / musl–based systems: locale-gen doesn't exist |
||||||
|
if [ -f /usr/lib/locale/locale-archive ] || grep -q musl /proc/self/maps 2>/dev/null; then |
||||||
|
export LANG=C.UTF-8 |
||||||
|
export LC_ALL=C.UTF-8 |
||||||
|
return 0 |
||||||
|
fi |
||||||
|
|
||||||
|
# Fallback if nothing else works |
||||||
|
export LANG=C.UTF-8 |
||||||
|
export LC_ALL=C.UTF-8 |
||||||
|
} |
||||||
|
|
||||||
|
# Call it immediately if script is sourced/run directly |
||||||
|
ensure_utf8_locale |
||||||
@ -0,0 +1,21 @@ |
|||||||
|
#!/bin/env bash |
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" |
||||||
|
|
||||||
|
# ubuntu |
||||||
|
sudo apt update -y |
||||||
|
sudo apt install -y zsh eza unzip locales |
||||||
|
|
||||||
|
source "${SCRIPT_DIR}/ensure-locale.sh" |
||||||
|
|
||||||
|
cd ~ |
||||||
|
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf |
||||||
|
./.fzf/install |
||||||
|
|
||||||
|
mkdir -p ~/.local/share/fonts |
||||||
|
cd ~/.local/share/fonts |
||||||
|
|
||||||
|
fontName=DejaVuSansMono |
||||||
|
curl -L -O 'https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/${fontName}.zip' |
||||||
|
unzip ${fontName}.zip |
||||||
|
rm ${fontName}.zip |
||||||
Loading…
Reference in new issue