Shell Geçişi, Catppuccin Macchiato Teması ve Yardımcı Scriptler
Fish’ten zsh’e geçiş, tüm terminal araçlarını Catppuccin Macchiato (Blue accent) temasına uyumlama ve iki yardımcı shell scriptinin kurulumu.
Shell Geçişi: Fish → Zsh
Neden: Fish POSIX uyumlu değil, çok satırlı komut yapıştırmaları (örn. for ... end blokları, uzun find -exec zincirleri) sürekli parse hatası veriyordu. İnternetten kopyalanan her bash komutu için “tek satıra sıkıştır” dansı yapmak gerekiyordu.
sudo pacman -S zsh zsh-completions zsh-syntax-highlighting zsh-autosuggestions
chsh -s /usr/bin/zshKonsole profili fish’e sabitlenmişti, onu da düzelttik:
- Dosya:
~/.local/share/konsole/Fish.profile Command=/usr/bin/fish→/usr/bin/zsh
CachyOS zsh ile Powerlevel10k gelir. Starship kullandığımız için wizard’ı atladık:
~/.zshrc
# Powerlevel10k sihirbazını devre dışı bırak
POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=true
# CachyOS zsh config (oh-my-zsh + aliases)
source /usr/share/cachyos-zsh-config/cachyos-config.zsh
# Starship prompt
eval "$(starship init zsh)"
# Fish tarzı otomatik öneriler
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh 2>/dev/null
# Syntax highlighting (en sonda olmalı)
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null
source ~/.config/zsh/themes/catppuccin_macchiato-zsh-syntax-highlighting.zsh 2>/dev/null
# fzf Catppuccin Macchiato
export FZF_DEFAULT_OPTS=" \
--color=bg+:#363a4f,bg:#24273a,spinner:#f4dbd6,hl:#ed8796 \
--color=fg:#cad3f5,header:#ed8796,info:#c6a0f6,pointer:#f4dbd6 \
--color=marker:#b7bdf8,fg+:#cad3f5,prompt:#c6a0f6,hl+:#ed8796 \
--color=selected-bg:#494d64 \
--color=border:#8aadf4,label:#cad3f5"
export EZA_CONFIG_DIR=~/.config/eza
# Aliaslar
alias ll='eza -lah --icons --group-directories-first'
alias la='eza -a --icons'
alias ls='eza --icons --group-directories-first'
alias cat='bat --paging=never'Catppuccin Macchiato + Blue Accent
Kurulan yerler:
| Katman | Dosya / Yer | Not |
|---|---|---|
| Konsole arka plan | ~/.local/share/konsole/catppuccin-macchiato.colorscheme | Profilde ColorScheme=catppuccin-macchiato |
| Starship prompt | ~/.config/starship.toml | palette = 'catppuccin_macchiato', segmentler blue/sapphire/sky/teal/lavender |
| zsh-syntax-highlighting | ~/.config/zsh/themes/catppuccin_macchiato-zsh-syntax-highlighting.zsh | zshrc’den source edilir |
| bat | ~/.config/bat/config + $(bat --config-dir)/themes/ | --theme="Catppuccin Macchiato" |
| btop | ~/.config/btop/btop.conf + ~/.config/btop/themes/catppuccin_macchiato.theme | color_theme = "catppuccin_macchiato" |
| fzf | zshrc’deki FZF_DEFAULT_OPTS | — |
Hata simgesi: Starship
error_symbolhâlâ#ed8796(macchiato red) — görünürlük için kasıtlı.
Tema indirme komutları (referans)
# Konsole
curl -fsSL -o ~/.local/share/konsole/catppuccin-macchiato.colorscheme \
https://raw.githubusercontent.com/catppuccin/konsole/main/themes/catppuccin-macchiato.colorscheme
# zsh-syntax-highlighting
mkdir -p ~/.config/zsh/themes
curl -fsSL -o ~/.config/zsh/themes/catppuccin_macchiato-zsh-syntax-highlighting.zsh \
https://raw.githubusercontent.com/catppuccin/zsh-syntax-highlighting/main/themes/catppuccin_macchiato-zsh-syntax-highlighting.zsh
# bat
mkdir -p "$(bat --config-dir)/themes"
curl -fsSL -o "$(bat --config-dir)/themes/Catppuccin Macchiato.tmTheme" \
https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Macchiato.tmTheme
bat cache --build
# btop
mkdir -p ~/.config/btop/themes
curl -fsSL -o ~/.config/btop/themes/catppuccin_macchiato.theme \
https://raw.githubusercontent.com/catppuccin/btop/main/themes/catppuccin_macchiato.themeYardımcı Scriptler
1. sort-wallpapers.sh
~/.local/bin/sort-wallpapers.sh — Bir dizindeki görselleri 4K/, QHD/, FHD/, Ultrawide/, Portrait/, Kucuk/, Bozuk/ klasörlerine ayırır. ImageMagick identify kullanır.
#!/bin/sh
set -e
DIR="${1:-$HOME/Pictures/Wallpapers/r-wallpaper}"
cd "$DIR"
mkdir -p 4K QHD FHD Ultrawide Portrait Kucuk Bozuk
find . -maxdepth 1 -type f \( -iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' -o -iname '*.webp' -o -iname '*.gif' \) -print0 |
while IFS= read -r -d '' f; do
dims=$(identify -format '%w %h' "$f" 2>/dev/null | head -1) || dims=""
if [ -z "$dims" ]; then mv -- "$f" Bozuk/; continue; fi
w=$(echo "$dims" | cut -d' ' -f1)
h=$(echo "$dims" | cut -d' ' -f2)
if [ "$h" -gt "$w" ]; then
target=Portrait
else
ratio=$((w * 100 / h))
if [ "$ratio" -ge 210 ]; then target=Ultrawide
elif [ "$w" -ge 3840 ]; then target=4K
elif [ "$w" -ge 2560 ]; then target=QHD
elif [ "$w" -ge 1920 ]; then target=FHD
else target=Kucuk; fi
fi
mv -- "$f" "$target/"
doneKategori kuralları:
- Portrait: boy > en (oranı önemsiz)
- Ultrawide: en/boy >= 2.1
- 4K: en >= 3840
- QHD: en >= 2560
- FHD: en >= 1920
- Kucuk: geri kalan
2. sort-tg-export.sh
~/.local/bin/sort-tg-export.sh — ~/Downloads/tg_export/ altındaki her alt klasörde dosyaları Fotograflar/ ve Videolar/ şeklinde ikiye ayırır.
#!/bin/bash
set -e
BASE="${1:-$HOME/Downloads/tg_export}"
for d in "$BASE"/*/; do
[ -d "$d" ] || continue
mkdir -p "$d/Fotograflar" "$d/Videolar"
find "$d" -maxdepth 1 -type f \( \
-iname '*.jpg' -o -iname '*.jpeg' -o -iname '*.png' \
-o -iname '*.webp' -o -iname '*.gif' -o -iname '*.heic' \
\) -exec mv -t "$d/Fotograflar/" {} +
find "$d" -maxdepth 1 -type f \( \
-iname '*.mp4' -o -iname '*.mov' -o -iname '*.mkv' \
-o -iname '*.webm' -o -iname '*.avi' -o -iname '*.m4v' \
\) -exec mv -t "$d/Videolar/" {} +
doner/wallpaper Top All-Time İndirme (bdfr)
gallery-dl Reddit’in bot korumasına takıldı (IP ban riski). BDFR (Bulk Downloader for Reddit) alternatif çalıştı — ama güncel praw ile uyumsuz:
pipx install bdfr
pipx inject bdfr 'praw<7.8' --force
bdfr download ~/Pictures/Wallpapers/r-wallpaper \
--subreddit wallpaper --sort top --time all --limit 1000 --no-dupesİndirme sonrası:
cd ~/Pictures/Wallpapers/r-wallpaper
mv -n wallpaper/* . 2>/dev/null
rmdir wallpaper 2>/dev/null
~/.local/bin/sort-wallpapers.shİlk çalıştırmada sonuç: 469 görsel → 4K: 169, FHD: 208, QHD: 68, Kucuk: 18, Ultrawide: 4, Portrait: 2, Bozuk: 0.
Öğrenilen / Dikkat
- Fish çok satırlı komutları bozar: bundan böyle shell scriptleri dosyaya yazılıp çağrılıyor, veya
bash -c '...'ile sarılıyor. - Reddit scraper’ları: gallery-dl bot korumasına yakalanıyor, bdfr daha sağlam ama eski praw gerektiriyor (
pipx inject 'praw<7.8' --force). - Konsole profil
Commandalanıchshdeğişikliğini override eder — profil dosyasını elle güncellemek şart. - CachyOS zsh default olarak Powerlevel10k ile gelir — starship kullanılacaksa wizard’ı
POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD=trueile devre dışı bırak.
İlgili yazılar
- Arch Linux Cheat Sheet — bu setup’ın yaşadığı CachyOS kurulumu
- Windows Terminal — PowerShell, Starship, Zoxide, Fzf — bu konfigürasyonun Windows tarafına taşınmış ve genişletilmiş hâli; Starship ve fzf konfigürasyonları örtüşüyor