Muallif: Shoxrux (Go-Dasturchi)
Falsafa: Minimalizm, ultra-yuqori tezlik, chalg'itmaydigan interfeys va to'liq sichqonchasiz (keyboard-centric) ish oqimi.
Ranglar palitrasi: Catppuccin Mocha β
Asosiy shriftlar: Monaspace Neon & JetBrainsMono Nerd Font
- Umumiy ko'rinish va Arxitektura
- Ekotizim tarkibi
- Aynan nima qilingani (Kengaytirilgan tahlil)
- Klaviatura birikmalari (Cheatsheet)
- O'rnatish qo'llanmasi (Yangi kompyuterda)
- Struktura
Ushbu setup dasturlash jarayonida maksimal unumdorlikka erishish uchun maxsus tayyorlangan. Har bir komponent bir-birini to'ldiradi:
- Estetika: Butun tizim (terminal, editor, status bar) bitta uyg'un β Catppuccin Mocha ranglar gammasida ishlaydi.
- Tezlik: GPU tezlanishiga ega zamonaviy Ghostty terminali va Rust tilida yozilgan ultra-yengil Zed Editor.
- Ergonomika: Qo'llarni klaviaturadan uzmasdan kod yozish, terminal panellarini boshqarish va loyihalar o'rtasida almashish.
graph TD
A[macOS Environment] --> B[Ghostty Terminal]
A --> C[Zed Editor]
B --> D[Zsh + Starship Prompt]
D --> E[Tmux Auto-attach]
E --> F[SessionX: Loyihalar boshqaruvi]
E --> G[FloaX: Suzuvchi terminal]
C --> H[Vim Mode & Custom Keymaps]
C --> I[Breadcrumbs & Minimalist UI]
C --> J[SQL Tasks & SQLS LSP]
K[(PostgreSQL 17)] --> J
K --> L[pgcli interactive client]
| Vosita | Versiya / Manba | Asosiy vazifasi |
|---|---|---|
| Ghostty | Native macOS build | Shisha (glass blur) effektli, tezkor GPU terminal |
| Zed Editor | Latest stable | Minimalist, Rust asosidagi Vim-rejimli kod muharriri |
| Tmux | 3.x + TPM | Sessiyalarni saqlash, oyna va panellarni boshqarish |
| Starship | Cross-shell | Tezkor, minimalist papka va β― belgili prompt |
| Zoxide & Fzf | CLI | Aqlli papkalar navigatsiyasi va fuzzy search |
| PostgreSQL 17 | Homebrew service | Mahalliy ma'lumotlar bazasi |
| SQLS | Go LSP server | Zed va Neovim uchun SQL autocompletion |
| pgcli | Python CLI | Rangli va auto-taklifli SQL interaktiv konsoli |
Fayl: ghostty/config
Standart macOS to'liq ekran (native fullscreen) oynani alohida "Space"ga olib o'tadi. Natijada ish stoli orqada qolmaydi va shaffoflik ostida shunchaki qora bo'shliq ko'rinadi (glass effekt yo'qoladi).
- Shishasimon (Glass) blur:
Faqat shaffoflik berilsa kod o'qilmay qoladi, 40 darajali xiralashtirish (blur) orqali haqiqiy matlangan shisha effekti hosil qilindi.
background-opacity = 0.82 background-blur = 40
- MacBook Notch bilan ishlash:
Oyna o'z ish stolida (Space) qoladi, notch ostiga kirib ketmaydi va orqa fon blur bo'lib ko'rinib turadi.
macos-non-native-fullscreen = padded-notch maximize = true
- Tipografiya va oyna chetlari:
font-family = "JetBrainsMono Nerd Font" font-size = 18 window-padding-x = 10 window-padding-y = 8
- Catppuccin Mocha ranglar palitrasi to'liq integratsiya qilingan.
Fayllar:
zed/settings.jsonzed/keymap.jsonzed/tasks.jsonzed/themes/catppuccin-mocha-blur.json
- Distraction-Free (Chalg'itmaydigan toza ko'rinish):
- Tablar qatori butunlay yashirildi:
"tab_bar": { "show": false }. Ekranda faqat kod ko'rinadi. - Yuqori qismda dinamik breadcrumbs yoqildi: joriy fayl yo'li, funksiya va struct nomi ko'rinib turadi.
- Tablar qatori butunlay yashirildi:
- Vim tajribasi:
"vim_mode": trueva"relative_line_numbers": "enabled".- Insert rejimidan chiqish uchun oson kombinatsiya:
j k-> Normal rejimga qaytadi.
- Maxsus qaynoq tugmalar (Custom Keymap):
Space p f: Tezkor fayl qidiruv (File Finder).s v: Oynani o'ngga vertikal bo'lish (Split Right).s s: Oynani pastga gorizontal bo'lish (Split Down).s h/s j/s k/s l: Bo'lingan oynalar o'rtasida tezkor harakatlanish.Cmd+ByokiCtrl+B: Chapdagi Project Panelni ochish/yopish.Cmd+Jyoki `Ctrl+``: Pastki terminalni ochish/yopish.Space f: Kodni avtomatik formatlash.Space z: Oynani kattalashtirish (Toggle Zoom).
- Shriftlar uyg'unligi:
- Asosiy shrift:
Monaspace Neon(16px) β zamonaviy dasturlash shrifti (~tilda to'g'ri chiqadi). - Fallback:
JetBrainsMono Nerd Font(barcha ikonalar uchun).
- Asosiy shrift:
- Git va LSP integratsiyasi:
- Inline git blame faollashtirilgan.
- Python uchun Basedpyright
openFilesOnlyrejimiga sozlangan. - Keraksiz kesh va build papkalar (
node_modules,.venv,.git) indeksatsiyadan chiqarilgan.
- SQL Query Task (
zed/tasks.json):- SQL fayllarda turib, bitta buyruq bilan joriy so'rovni PostgreSQL bazasida ishga tushirish imkoniyati:
{ "label": "Run SQL Query", "command": "psql -d postgres -f \"$ZED_FILE\"", "use_new_terminal": false, "reveal": "always" }
- SQL fayllarda turib, bitta buyruq bilan joriy so'rovni PostgreSQL bazasida ishga tushirish imkoniyati:
Fayllar:
tmux/tmux.conftmux/tmux.reset.conf
- Prefiks: Ergonomik
Ctrl+A(^A). - SessionX integratsiyasi (
prefix + o):- Loyihalar va sessiyalar o'rtasida Zoxide orqali tezkor sakrash oynasi (fuzzy search).
- FloaX suzuvchi terminal (
prefix + p):- Asosiy ish oynasini buzmasdan, o'rtada suzuvchi (popup) kichik terminal ochiladi.
- Avtomatik saqlash va tiklash:
tmux-continuumhar 5 daqiqada barcha oyna va panellar joylashuvini avtomatik saqlab boradi. Kompyuter qayta yoqilganda ham sessiyalar tiklanadi.
- Dizayn:
- Catppuccin Mocha yumaloq pill uslubidagi status bar (
ξΆ,ξ΄). - Oynalar indeksi 1 dan boshlanadi (
base-index 1). - Oyna yopilganda raqamlar avtomatik tartiblanadi (
renumber-windows on).
- Catppuccin Mocha yumaloq pill uslubidagi status bar (
Fayllar:
zsh/.zshrcstarship/starship.toml
- Aqlli Tmux Auto-Attach skripti:
- Yangi Ghostty yoki iTerm2 oynasi ochilganda avtomatik ravishda mavjud bo'sh tmux sessiyasiga ulanadi.
- FloaX'ning maxfiy
scratchyordamchi sessiyasiga tushib qolmaslik uchun qat'iy tekshiruv qo'shilgan.
- Minimalist Starship prompt:
- Faqat joriy papka nomi (yashil rangda) va
β―belgisi ko'rinadi. Uzun yo'llar ko'zni charchatmaydi.
- Faqat joriy papka nomi (yashil rangda) va
- Tezkor CLI vositalari:
zoxide:z loyihaorqali istalgan papkaga tezkor o'tish.fzf:Ctrl+R(tarix qidiruvi) vaCtrl+T(fayl qidiruvi).- Zamonaviy aliaslar:
vim->nvimcat->battop/monitor->btop
Fayllar:
sqls/config.yml
- PostgreSQL 17 xizmati: Homebrew orqali fon xizmati sifatida ishga tushiriladi (
brew services start postgresql@17). - SQLS (SQL Language Server): Mahalliy PostgreSQL bazasiga (
127.0.0.1:5432) ulanib, SQL yozayotganda jadvallar va ustunlar nomlarini avtomatik to'ldirish (autocompletion) imkonini beradi. - pgcli: Chiroyli sintaksis bo'yash va intellektual takliflar bilan qulay CLI konsol.
| Tugmalar | Vazifasi |
|---|---|
Space p f |
Fayl qidirish (File Finder) |
Space p r |
Loyiha bo'ylab qidirish (Search) |
Space f |
Kodni formatlash (Format) |
Space z |
Oynani kattalashtirish (Toggle Zoom) |
s v |
Oynani o'ngga vertikal bo'lish (Split Right) |
s s |
Oynani pastga gorizontal bo'lish (Split Down) |
s h / s j / s k / s l |
Oynalar o'rtasida chap/past/yuqori/o'ngga o'tish |
Shift + H / Shift + L |
Oldingi / keyingi faylga o'tish |
Cmd + B / Ctrl + B |
Chap Project Panelni ochish / yopish |
Cmd + J / `Ctrl + `` |
Pastki terminal panelini ochish / yopish |
j k (Insert rejimida) |
Normal rejimga qaytish (Esc o'rniga) |
| Tugmalar | Vazifasi |
|---|---|
Ctrl + A so'ng o |
SessionX: Loyihalar va sessiyalar ro'yxati |
Ctrl + A so'ng p |
FloaX: Markaziy suzuvchi terminal panel |
Ctrl + A so'ng v |
Oynani vertikal bo'lish |
Ctrl + A so'ng s |
Oynani gorizontal bo'lish |
Ctrl + A so'ng h / j / k / l |
Panellar bo'ylab harakatlanish |
Ctrl + A so'ng z |
Joriy panelni to'liq ekranga yoyish |
Ctrl + A so'ng Shift + I |
Tmux plaginlarini o'rnatish/yangilash |
# Homebrew o'rnatilmagan bo'lsa:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# CLI va terminal vositalari
brew install tmux starship zoxide fzf bat btop neovim ghostty
# Shriftlar
brew install --cask font-jetbrains-mono-nerd-font font-monaspace
# Database va LSP vositalari
brew install postgresql@17 pgcli lighttiger2515/sqls/sqls
brew services start postgresql@17git clone https://github.com/ShoxruxGo/mySetap.git ~/Documents/mySetap
cd ~/Documents/mySetap
# Avtomatik o'rnatish skriptini ishga tushiring:
./scripts/install.shEslatma:
install.shskripti mavjud sozlamalaringizni avtomatik ravishda~/.config/setup_backups/papkasiga xavfsiz zaxiralaydi!
- Yangi terminal oching (u avtomatik Tmux'ga ulanadi).
Ctrl + Abosing va qo'yib yuboribShift + Ibosing (TPM barcha plaginlarni yuklab oladi).- Zed editorni ishga tushiring:
zed .
mySetap/
βββ README.md # To'liq o'zbek tilidagi qo'llanma
βββ .gitignore # Git istisnolar fayli
βββ scripts/
β βββ install.sh # Avtomatlashtirilgan o'rnatish va zaxira skripti
βββ ghostty/
β βββ config # Ghostty shishasimon blur va notch konfiguratsiyasi
βββ zed/
β βββ settings.json # Minimalist UI, vim mode, breadcrumbs, fontlar
β βββ keymap.json # Space leader va ergonomik klaviatura birikmalari
β βββ tasks.json # SQL so'rovlarini bajarish vazifasi
β βββ themes/
β βββ catppuccin-mocha-blur.json # Maxsus Catppuccin mavzusi
βββ tmux/
β βββ tmux.conf # Prefix Ctrl+A, SessionX, FloaX, Continuum
β βββ tmux.reset.conf # Asosiy tugmalar tozalagich
βββ starship/
β βββ starship.toml # Minimalist prompt dizayni
βββ sqls/
β βββ config.yml # PostgreSQL 17 bilan SQLS LSP ulanishi
βββ zsh/
βββ .zshrc # Shell environment, avto-tmux, aliaslar
Tayyorladi: Shoxrux (Go-Dasturchi)