Yazılımcılar İçin Mac Kurulumu

Amazon’da çalışmaya baÅŸlayalı daha altı ay olmadı ama daha ÅŸimdiden Mac’ime iki kere sıfırdan kurulum yapmak zorunda kaldım. İlki tahmin edebileceÄŸiniz gibi bilgisayarı ilk aldığımda oldu. Beni sinir edeni ikinci kurulum zaten, durduk yere bilgisayarım arızalandı, yeni makine verdiler sıfırdan tekrar kurulum yapmak durumunda kaldım. Neyi kurmuÅŸtum nasıl kurmuÅŸtum derken bir hayli zaman gidiyor. Bende bir daha başıma gelirse çok zaman kaybetmeyeyim diye bir blog yazısında hem kurulumları özetlemeye hemde neler kullandığımı anlatmaya karar verdim. Elimden geldiÄŸince Amazon özelinde ya da Java özelindeki uygulamalardan kaçınıp, her yazılımcıya hitap edecek ÅŸekilde mac kurulumumu anlatmaya çalışacağım.

1. Homebrew

Mac için geliştirilmiş paket yönetim programı. Ubuntu da apt neyse mac içinde brew o. Sistemin olmazsa olmazı diyebilirim. Zaten paket yöneticileri insanların o kadar hoşuna gidiyor ki Windows için bile paket yöneticileri var.  Kurulum için

Kurulum sırasında sizden Xcode ile ilgili paketler yüklemenizi isteyebilir.

2. Zsh ve Oh-My-Zsh

İşerimi terminal üzerinden yapmayı seviyorum. Fakat Mac’in ne terminal uygulamasından ne de Bash’inden memnun deÄŸilim. Öyle her unix tabanlı komutu bilen bir guru olmadığımdan, zsh ve oh-my-zsh ikilisi bana komutları kullanmamda büyük kolaylık saÄŸlıyor. Hemen hemen her unix komutu için otomatik tamamlama yapabiliyor. Bunun yanında Oh-My-Zsh hem tema olarak hem saÄŸladığı pluginler olarak terminal kullanım keyfimi daha da arttırıyor. Mesela git plug’ini sayesinde, branch adını hatırlamak için ek bir komut çalıştırmak zorunda kalmıyorsunuz, git checkout diyip tab a bastığınızda sizin için otomatik tamamlayabiliyor. Aynı ÅŸekilde awscli plugin’ini yüklerseniz awscli üzerindeki tüm iÅŸlemlerde parametreleri otomatik tamamlayabiliyor. Buda kullanımınızı çok hızlandırıyor.

Zsh Kurulumu

Oh-My-Zsh Kurulumu

Zsh ve Oh-My-Zsh Ayarları

Örnek olması açısından benim kulandığım zsh ayar dosyasını (~/.zshrc) paylaşıyorum.

  • Burada plugins kısmında kendi yazılım geliÅŸtirmelerim sırasında kullandığım tüm eklentileri aktif ettim. Makinenize göre bu konsolunuzu yavaÅŸlatabilir. Bende ÅŸu anda bir sorun olmadığından bunların hepsi aktif. Benzer plugin’lere bu sayfadan eriÅŸebilirsiniz.
  • ZSH_THEME kısmında ise yine oh-my-zsh ta tanımlı temalardan birini seçebilirsiniz. Burada ÅŸunu söyleyeyim, sadece komut satarızı bazlı renkler ve diziliÅŸler buradan ayarlanıyor. Geri kalanını kullandığınız terminal programı üzerinden ayarlamalısınız.  Oh-my-zsh ta tanımlı temalara buradan eriÅŸebilirsiniz. Ben bira isimli temayı kullanıyorum.

3. Iterm2

Mac’te asıl yüklü olması gereken terminal uygulaması. Yüklemek için aÅŸağıdaki komutu çalıştırmanız yeterli.

Åžimdi bir kaç ufak ama olmazsa olmaz ayarımız var onları yapalım. Bunun için uygulamayı açıp, Preference‘ını açıyoruz. Ardından Profiles sekmesinden kendimize yeni bir profil yaratıyoruz. Daha sonra bu profili temamızı belirlerken de kullanacağız. Profilimizi seçip Other Actions…‘tan Set As Default diyoruz.

Ardından profilimiz seçiliyken, Terminal tabına geliyoruz. Burada Notifications ayarlarını değiştirip, sessiz uyarı vermesini sağlıyoruz. Bunun için Notifications altındaki tüm kutucukları işaretleyebilirsiniz. Böylelikle terminalde tab karakterine bastığımızda sinir bozucu ötme sesi duymayacağız. Yine aynı yerde Scrollback Buffer ayarı var. Bu sayfa geçmişini ne kadar tutacağını belirtiyor. Bunu da makinenizin durumuna göre ayarlayın. Ben 5 bin civarında bir değer veriyorum genelde.

Birde ben terminali genelde tam ekran kullanıyorum. Uygulamanında bu şekilde açılmasını istiyorum. Bunun için yine profilimiz seçiliyken, Window sekmesine geliyoruz. Burada Settings for New Windows bölümünün altında üç ayar var, Style, Screen ve Space. Bunları sırasıyla, Fullscreen, No Preference, Current Space olarak ayarlıyoruz.

Iterm2 için Tema Kurulumu

Zsh kurulumu sırasında bahsetmiÅŸtim, terminalde istediÄŸiniz renkleri ayarlamak için hem shell’inizin temasını hem de terminal uygulamanızın temasını ayarlamanız gerekiyor. Åžimdi sırada Item2’nin temalarını ayarlamak var. Tabi bu kısım tamamen sizin zevkinize kalmış.

Iterm2-color-schemes diye bir site yapmışlar. İstemediğiniz kadar farklı temayı burada bulabilirsiniz. Bu temaların kurulumu da bir hayli basit.

Paket halinde siteden indirin ve bir klasöre çıkartın. Çıkardığınız klasörün içerisinde, schemes isimli baÅŸka bir klasör daha olacak. Buradaki itermcolors uzantılı dosyaları iterm2’e göstererek temayı kullanmaya baÅŸlayabilirsiniz. Bunları iterm2’e göstermek için, yine Preference‘tan, yeni oluÅŸturduÄŸunuz profile geliyorsunuz. Yeni açılan tablar’dan Colors‘a geliyorsunuz. Sayfanın altında Load Preset var. Onu seçip Import‘u seçiyorsunuz. Sonrasında tek yapmanız gereken itermcolors uzantlı dosyaları seçmek. Bense genelde JetBrains Darcula (ne yazıkki link veremiyorum, sayfada arama yapmanız gerekiyor) renk ÅŸemasını kullanıyorum. Tahmin edebileceÄŸiniz gibi Intellij ile uyumlu bir tema bu.

4. Git

Aslında git Mac ile yüklü geldiğinden opsiyonel bir kurulum. Fakat gelen versiyonu biraz eski oluyor. Ben yenilemeyi tercih ediyorum.

Bunun için  $ brew install git  komutunu çalıştırmanız yeterli.

Git Ayarları

Git’te ayarsız olmuyor tabiki. Önce örnek .gitconfig dosyasını paylaşıp, örnek dosya üzerinden anlatayım.

Bu ayarların hepsini konsol üzerinden yapmakta mümkün ama buradan yapmak çok daha kolay. Özet olarak bazı ayarlara deyinecek olursam:

  • core.excludesfile: Global gitignore dosyası olarak düşünebilirsiniz. Amazon’da genelde IDE bazlı dosyalar projenin .gitignore dosyasında yer almaz. Bu sebepten genelde global bir dosya kullanıyoruz.
  • push.default: “git push” dediÄŸinizde default olarak nereye gönderileceÄŸi bilgisidir bu. Ben branch açarken genelde track ettiÄŸim branch‘ide belirtiyorum. Kodu incelemeye gönderirken da bana kolaylık saÄŸlıyor. Push dediÄŸimde de takip ettiÄŸi branch‘e göndersin diye böyle ayarlıyorum.
  • pull.rebase: Temiz bir git deposu için rebase ağırlıklı iÅŸlem yapıyoruz. Buda onun için. EÄŸer yeni bir kod çekilecekse, benim deÄŸiÅŸikliklerimi yeni gelen kodun üzerine tekrar uygulasın diye bunu ekliyorum. Bunu eklemediÄŸim taktirde her pull sırasında –rebase parametresini eklemem gerekiyor.
  • branch.autoSetupRebase: Bu da branch üzerinde pull aldığınızda, branchin rebase edilmesini saÄŸlıyor. Mesela master’ı track eden bir branch açtınız. Pull çektiÄŸinizde, master’daki (lokal master’ı track ediyorsanız local master’daki, origin’dekini track ediyorsanız origin’deki) deÄŸiÅŸiklikleri alıp, sizin deÄŸiÅŸikliklerinizi, masterdan gelenlerin üzerine uyguluyor. Yani git rebase <takip_ettiÄŸiniz_branch> yerine git pull yazıyorsunuz.
  • branch.autoSetupMerge: Bu da yeni oluÅŸturduÄŸunuz branch’inizin otomatik olarak komutu çalıştırdığınız branch’i track etmesine yarıyor. ÖrneÄŸin master branch’inde git checkout -b new-branch komutunu çalıştırırsanız. New-branch branch’i master branch’ini takip ediyor.
  • alias.dag ve alias.lg : Log’unuzu farklı ÅŸekilde görmenizi saÄŸlayan iki farklı komut. Genelde git lg‘i kullanıyorum.

5. Text Editor Olarak Vim

Vim’de ya da Emac’ta geliÅŸtirme yapanları her zaman için özenmiÅŸimdir. Ama oturup öğrenecek kadar sabredememiÅŸimdir bir türlü. Yine de ucundan kıyısından kullanmak adına text editor olarak Vim kullanıyorum. Vim’de Mac’te hazır olarak geliyor. Ama versiyonu biraz eski. Beni ve kullandığım eklentileri çok etkilemediÄŸi için güncellemeye kalkmayacağım. Aynen kullanacağım.

Vundle Kurulumu

Bütüm modern Text Editor’lerde eklenti yüklemenizi kolaylaÅŸtıracak bir mekanizma olur. Vim’de de var. Hatta bir kaçtane var. Çok ustası olmadığım için hangisi iyi hangisi kötü gibi bir ayrıma giremiyorum. Vundle iÅŸimi gördüğümden bunu kullanmayı seçiyorum.

Komutunu kullanarak kurulumunu yapabilirsiniz. Kurulum için .vimrc dosyasında da değişiklikler yapmak gerekiyor.

Vim Ayarları

Git’e bile o kadar ayar yaptık, ÅŸimdi koskoca Vim’e ayar yapmadan olmaz tabi. Yine, tabii ki örnek .vimrc üzerinden gideceÄŸiz.

Vundle ile ilgili ayarların nerede başladığı nerede bittiği nettir diye düşünüyorum. Bu sebepten kısaca kullandığım eklentilere geçmek istiyorum.

  • vim-sensible: Herkesin üzerinden hem fikir olduÄŸu varsayılan ayarları sizin adınıza yapıyor.
  • nerdtree: Vim ile bütünleÅŸik dosya gezgini. Atom’da ya da Sublime’da sol tarafta açık duran dar alan var ya. Onun gibi. Ama ayarlarda açılıp kapanmasını cntrl+e tuÅŸlarına baÄŸlamışım.
  • vim-fugitive: Vim üzerinden git komutlarını çalıştırmak için. Özellikle :Gblame çok iÅŸime yarıyor.
  • vim-surround: Belli Vim kısayollarıyla, otomatik olarak belli textleri sarmallamak için kullanılıyor. ÖrneÄŸin String’iniz var ” ile sarmallayabiliyorsunuz.
  • vim-colors-tayra: Vim temasız olur mu? Tabi olmaz.

Bu ayarları yaptıktan sonra Vim’i ilk çalıştığınızda eklentiler yüklenmemiÅŸ olacak. Bundan dolayı bir deÄŸiÅŸiklik göremeyeceksiniz. Eklentileri yüklemek için Vim içerisinde :PluginInstall komutunu çalıştırmanız gerekiyor. EÄŸer daha fazla eklenti istiyorsanız VimAwesome, eÄŸer daha fazla tema istiyorsanız VimColors sitelerinden faydalanabilirsiniz.

Alternatif olarak Atom kurmak isterseniz  $ brew cask install atom , sublime-text kurmak isterseniz de  $ brew cask install sublime-text  komutlarından faydalanabilirsiniz.

6. Uygulamalar

Şimdi gelelim diğer uygulamalara. Bu uygulamalar da genel olarak her yazılımcının ve hatta mac kullanıcısının işine yarayan uygulamalar olacak.

6.1 Caffeine

Mac’in zamansız uyumasından nefret eden biri olarak, ilk yüklediÄŸim uygulamalardan biri Caffeine oluyor. Bilgisayarınızın uyumasını engelliyor. Özellikle ÅŸirket bilgisayarında, uykudan uyanmada ÅŸifre isteme ayarlarını deÄŸiÅŸtiremediÄŸimden hayatımı kurtarıyor diyebilirim. Kurulum için:

6.2 Keka

Windows için WinRar neyse, mac için de Keka o benim gözümde. Her türlü paket açma ihtiyacınızı karşılıyor. Kurulum için:

6.3 Diffmerge

Terminali iyi hoş seviyorum dedim de terminalde yapmayı en sevmediğim iş, diff okumak ve merge etmek. Diffmerge bu iki ihtiyacımı da karşılıyor. Kurulum için:

Diffmerge’i git ile de entegre etmeniz mümkün. Bunun için aÅŸağıdaki komutları çalıştırmalısınız.

Burdan sonra git mergetool ya da git difftool ile kullanabilirsiniz.

6.4 Spectacle

Windows’un heralde en özlediÄŸim kısımlardan biri windows management’ı. Hani pencereyi saÄŸa sola çekersiniz de otomatik ayarlar ya, iÅŸe o özellik mac’te yok. Spectacle ise o özelliÄŸi ücretsiz ÅŸekilde en iyi saÄŸlayan uygulama. Ama saÄŸa sola çekerek deÄŸil klavye kısa yollarıyla yapıyorsunuz. Yüklemek için:

6.5 Go2Shell

Go2Shell Finder ile gezinirken, bulunduÄŸunuz dizinde terminal açmanızı saÄŸlayan bir uygulama. Çok gerekli deÄŸil gibi duruyor ama yer yer çok kullanışlı olabiliyor. EÄŸer Iterm2 kurduysanız, yükledikten sonra Go2Shell’i açıp gerekli ayarları yapmayı unutmayın. Kurulum için:

6.6 CopyClip

CopyClip, listenin tek Freemium üyesi. Bir küçük reklam gösteriyor size ondan sonra istediÄŸiniz gibi kullanabiliyorsunuz. Yaptığı ise, kopyalama geçmiÅŸinizi (text olarak) tutmak. Normalde 20 adet kopyalamanızı tutuyor. Daha da arttırabiliyorsunuz. Kurulum için sizeıApp Store’a alalım.

6.7 Franz

Franz ile Whatssapp’ınızı, Hangouts’unuzu, FB Messanger’ınızı, Slack grouplarınızı, Skype’ınzı ve HipChat’inizi tek bir uygulama üzerinden yönetebiliyorsunuz. Daha ne olsun. Kurulum için:

6.8 FreeMind

FreeMind, mind-mapping aracı. Daha detaylı nasıl anlatabilirim bilmiyorum.

6.9 MacDown

MacDown, Mac için geliÅŸtirilmiÅŸ Markdown editörü. Ücretsiz ve opensource… Kurulum için:

6.10 Tomighty

Tomighty, mac için geliştirilmiş, güzel kullanışlı ve ücretsiz bir pomodoro saati.  Kurulum için:

7. Genel Mac Ayarları

Bir iki tane de genel Mac ayarlarından bahsedip yazıyı kapayalım. Burada detaylı oradan oraya tıklayın gibi anlatmayacağım. Sadece öneri şeklinde olacak.

  • Kavye basım hızının arttırılması: Ne yazıkki varsayılanı çok yavaÅŸ. Ben sonuna kadar arttırıyorum. Aksi halde terminal kullanırken insana inme inebilir.
  • Docker ve Menu’nun gizlenmesi: Her iki yapıyı da sevsem de ikisine de çok nadiren iÅŸim düşüyor. Bu sebepten default olarak ikisini de gizliyorum.
  • Trackpad ve Dokunma ayarları: Varsayılan ayarlarda, trackpad dokunulduÄŸunda, ‘click’ üretmiyor. Bunun deÄŸiÅŸtirilmesi bence kullanımı çok kolaylaÅŸtırıyor.
  • Sol Üst Köşenin Masaüstünü Göstermesi: Mac’in ‘Hot Corners’ özelliÄŸinden yararlanarak, sol üst köşeyi masaüstünü gösterecek ÅŸekilde ayarlıyorum. Trackpad’ten falanda yapılabiliyor da bu benim daha rahatıma geliyor. Neden sol üst köşe derseniz, yazılım geliÅŸtirirken en az uÄŸradığım nokta olduÄŸundan orayı seçtim.