Skip to content
ShoxruxGoPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ macOS Developer Setup: Ghostty + Zed + Tmux + Starship + PostgreSQL

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


πŸ“‘ Mundarija

  1. Umumiy ko'rinish va Arxitektura
  2. Ekotizim tarkibi
  3. Aynan nima qilingani (Kengaytirilgan tahlil)
  4. Klaviatura birikmalari (Cheatsheet)
  5. O'rnatish qo'llanmasi (Yangi kompyuterda)
  6. Struktura

🎯 Umumiy ko'rinish va Arxitektura

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]
Loading

πŸ›  Ekotizim tarkibi

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

πŸ” Aynan nima qilingani (Kengaytirilgan tahlil)

1. Ghostty: Shishasimon (Glass blur) terminal

Fayl: ghostty/config

Muammo va yechim:

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).

Amalga oshirilgan sozlamalar:

  1. Shishasimon (Glass) blur:
    background-opacity = 0.82
    background-blur = 40
    Faqat shaffoflik berilsa kod o'qilmay qoladi, 40 darajali xiralashtirish (blur) orqali haqiqiy matlangan shisha effekti hosil qilindi.
  2. MacBook Notch bilan ishlash:
    macos-non-native-fullscreen = padded-notch
    maximize = true
    Oyna o'z ish stolida (Space) qoladi, notch ostiga kirib ketmaydi va orqa fon blur bo'lib ko'rinib turadi.
  3. Tipografiya va oyna chetlari:
    font-family = "JetBrainsMono Nerd Font"
    font-size = 18
    window-padding-x = 10
    window-padding-y = 8
  4. Catppuccin Mocha ranglar palitrasi to'liq integratsiya qilingan.

2. Zed Editor: Toza va tezyurar kod muharriri

Fayllar:

  • zed/settings.json
  • zed/keymap.json
  • zed/tasks.json
  • zed/themes/catppuccin-mocha-blur.json

Amalga oshirilgan sozlamalar:

  1. 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.
  2. Vim tajribasi:
    • "vim_mode": true va "relative_line_numbers": "enabled".
    • Insert rejimidan chiqish uchun oson kombinatsiya: j k -> Normal rejimga qaytadi.
  3. 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+B yoki Ctrl+B: Chapdagi Project Panelni ochish/yopish.
    • Cmd+J yoki `Ctrl+``: Pastki terminalni ochish/yopish.
    • Space f: Kodni avtomatik formatlash.
    • Space z: Oynani kattalashtirish (Toggle Zoom).
  4. Shriftlar uyg'unligi:
    • Asosiy shrift: Monaspace Neon (16px) β€” zamonaviy dasturlash shrifti (~ tilda to'g'ri chiqadi).
    • Fallback: JetBrainsMono Nerd Font (barcha ikonalar uchun).
  5. Git va LSP integratsiyasi:
    • Inline git blame faollashtirilgan.
    • Python uchun Basedpyright openFilesOnly rejimiga sozlangan.
    • Keraksiz kesh va build papkalar (node_modules, .venv, .git) indeksatsiyadan chiqarilgan.
  6. 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"
      }

3. Tmux: Sessiyalar va suzuvchi panellar

Fayllar:

  • tmux/tmux.conf
  • tmux/tmux.reset.conf

Amalga oshirilgan sozlamalar:

  1. Prefiks: Ergonomik Ctrl+A (^A).
  2. SessionX integratsiyasi (prefix + o):
    • Loyihalar va sessiyalar o'rtasida Zoxide orqali tezkor sakrash oynasi (fuzzy search).
  3. FloaX suzuvchi terminal (prefix + p):
    • Asosiy ish oynasini buzmasdan, o'rtada suzuvchi (popup) kichik terminal ochiladi.
  4. Avtomatik saqlash va tiklash:
    • tmux-continuum har 5 daqiqada barcha oyna va panellar joylashuvini avtomatik saqlab boradi. Kompyuter qayta yoqilganda ham sessiyalar tiklanadi.
  5. Dizayn:
    • Catppuccin Mocha yumaloq pill uslubidagi status bar (ξ‚Ά, ξ‚΄).
    • Oynalar indeksi 1 dan boshlanadi (base-index 1).
    • Oyna yopilganda raqamlar avtomatik tartiblanadi (renumber-windows on).

4. Starship va Zsh muhiti

Fayllar:

  • zsh/.zshrc
  • starship/starship.toml

Amalga oshirilgan sozlamalar:

  1. Aqlli Tmux Auto-Attach skripti:
    • Yangi Ghostty yoki iTerm2 oynasi ochilganda avtomatik ravishda mavjud bo'sh tmux sessiyasiga ulanadi.
    • FloaX'ning maxfiy scratch yordamchi sessiyasiga tushib qolmaslik uchun qat'iy tekshiruv qo'shilgan.
  2. Minimalist Starship prompt:
    • Faqat joriy papka nomi (yashil rangda) va ❯ belgisi ko'rinadi. Uzun yo'llar ko'zni charchatmaydi.
  3. Tezkor CLI vositalari:
    • zoxide: z loyiha orqali istalgan papkaga tezkor o'tish.
    • fzf: Ctrl+R (tarix qidiruvi) va Ctrl+T (fayl qidiruvi).
    • Zamonaviy aliaslar:
      • vim -> nvim
      • cat -> bat
      • top / monitor -> btop

5. PostgreSQL, SQLS va Pgcli vositalari

Fayllar:

  • sqls/config.yml

Amalga oshirilgan sozlamalar:

  1. PostgreSQL 17 xizmati: Homebrew orqali fon xizmati sifatida ishga tushiriladi (brew services start postgresql@17).
  2. 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.
  3. pgcli: Chiroyli sintaksis bo'yash va intellektual takliflar bilan qulay CLI konsol.

⌨️ Klaviatura birikmalari (Cheatsheet)

⚑ Zed Editor (Normal rejimda)

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)

🧡 Tmux (Prefix = Ctrl + A)

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

πŸš€ O'rnatish qo'llanmasi (Yangi kompyuterda)

1-qadam: Kerakli dasturlarni Homebrew orqali o'rnatish

# 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@17

2-qadam: Ushbu repozitoriyani klonlash va sozlamalarni joylashtirish

git clone https://github.com/ShoxruxGo/mySetap.git ~/Documents/mySetap
cd ~/Documents/mySetap

# Avtomatik o'rnatish skriptini ishga tushiring:
./scripts/install.sh

Eslatma: install.sh skripti mavjud sozlamalaringizni avtomatik ravishda ~/.config/setup_backups/ papkasiga xavfsiz zaxiralaydi!

3-qadam: Plaginlarni yuklash

  1. Yangi terminal oching (u avtomatik Tmux'ga ulanadi).
  2. Ctrl + A bosing va qo'yib yuborib Shift + I bosing (TPM barcha plaginlarni yuklab oladi).
  3. Zed editorni ishga tushiring: zed .

πŸ“ Struktura

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)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages