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