Bu yazıda hazırladığım geliştirme ortamını araçlar ve dağıtımla birlikte anlattım.
## TL;DR
Eğer bütün yazıyı okumaya üşendiyseniz aşağıda özetlenmiş bir tablosu bulunmakta.
Dağıtım | Arch Linux |
Dosya Yöneticisi | ranger |
Window Manager | i3 |
Bar | polybar |
Metin Editörü | vim |
IRC İstemcisi | irssi |
E-Posta İstemcisi | mutt |
Tarayıcı | elinks, chromium |
Video Oynatıcı | vlc |
CD/DVD Aracı | brasero |
Disk Kullanım Analizi | baobab |
Disk Temizleme Aracı | bleachbit |
Sistem Kullanımı Aracı | htop |
Ofis Araçları | LibreOffice |
Terminal | urxvt |
Sanallaştırma | virtualbox |
Markdown Editör | remarkable |
Torrent İstemcisi | transmission |
Yayın | OBS |
Resim Görüntüleyici | feh |
Müzik Oynatıcı | cmus |
Ekran Yönetimi | arandr |
FTP GUI | filezilla |
Webserver | LAMP Stack |
API Test Aracı | postman |
PHP IDE | PHPStorm |
C/C++ IDE | CLion |
Python IDE | PyCharm |
## İşletim Sistemi
Geliştirme ortamımda işletim sistemi olarak GNU/Linux ve Arch Linux dağıtımını kullandım. Arch Linux dağıtımını seçmemdeki sebepler şu şekilde.
- Lightweight - Olabildiğince hafifletilmiş bir halde. Gereksiz paket ve program bolluğu yok.
- Topluluk ve Wiki - Her türlü sorunda kolayca çözüm bulabileceğiniz bir wikiye sahip ve IRC/Mailing ile diğer geliştiricilere ulaşıp sorununuzun çözümü hakkında yardım alabiliyorsunuz.
- AUR - Resmi depolarda paket bulunmadığı zaman diğer kullanıcıların oluşturduğu PKGBUILD üzerinden programların kurulumunu sağlayabiliyorsunuz. NPM veya Pip gibi paketleri de içerisinde bulundurduğu için tek sistem üzerinden tüm paketlerinizi güncelleyebiliyorsunuz.
- Trusted User - AUR üzerinden sizin açtığınız paketler yeterli kullanıma ulaştığında resmi depolara da ulaşabiliyor ve dağıtımın geliştirilmesine katkı sağlayabiliyorsunuz. Bu da yükselme imkanı demek oluyor.
- Rolling Release - Full Rolling olarak dağıtımını gerçekleştiren Arch Linux, paketlerin dağıtımını ikiye ayırmadan ufak düzenlemeler dahi olsa sürekli güncel tutmanızı sağlıyor.
## Grafiksel Arayüz
İstenilen masaüstü veya pencere yönetim sistemi kullanılabiliyor. Benim tercihim Window Manager oldu. Tamamen klavye ile yönetilebilir olması ve kat kat lightweight olması işlerimi kolaylaştırıyor.
Window Manager olarak 2bwm, openbox, awesome ve i3 kullandım. Bunlardan i3 benim daha çok hoşuma gitti. Ayarlamaların tamamen kullanıcı tarafından olması ve ayar dosyasının olabildiğince yalın olması bu tercihe itti.
### Bar
Çalışma ortamlarını, sistem değerlerini ve tray ikonları görmek için bir bar yazılımı seçmem gerekti. Daha önce xfce4 bar, polybar, i3bar ve i3blocks kullanmıştım. Tercihim ilk başta i3bar olmuştu fakat yeterli gelmediği için daha sonra polybar kullanımına geçtim. Olabildiğince renkli ve özelleştirilebilir bir yapısı var.
### Ağ
Komut satırından ağa bağlanmayı sevmediğim için Network Manager tercih ettim. Polybar üzerinden erişebilmek için kendi applet ini kullanıyorum.
## Araçlar
### Dosya Yöneticisi
Dosya yöneticisi olarak ranger kullanıyorum. Kullanımı vim benzeri olduğu için işlem yapmak ve gezinmek oldukça kolay.
### Metin Editörü
Konsoldan yapacağım işler için vim kullanıyorum. Eğer yapacağım iş çoklu dosyalarda hakimiyet istiyorsa sublime text tercih ediyorum.
### IRC Client
IRC sunucularına ve odalarına bağlanmak için irssi kullanıyorum. Hafiflik konusunda gerçekten çok iyi.
### Mail Client
E-Postalarımı kontrol etmek için mutt kullanıyorum.
### Tarayıcı
Bu konuda malesef lightweight tercihi yapamıyorum. İş gereği webkit bir tarayıcı kullanmam gerekiyor. Bu sebeple chromium kullanıyorum. Fakat terminalden webe erişmek istediğim durumlar için elinks kullanıyorum.
### Video Oynatıcı
Bu konuda da lightweight tercih yapılmasının saçma olduğunu düşünüyorum. Bu sebeple vlc kullanıyorum.
### DVD/CD Aracı
Disk işlemleri için Brasero kullanıyorum.
### Disk Kullanım Analizi
Disk kullanımının analizini yapmak için baobab kullanıyorum.
### Sistem Kullanımı
Sistem kullanımının analizi için htop kullanıyorum.
### Ofis Araçları
Döküman ve tablolar için LibreOffice kullanıyorum.
### Sanallaştırma
Aktif olarak kullandığım bir başka sanal makine yok fakat gerektiğinde kullanmak için VirtualBox tercih ediyorum.
### Yayın
Broadcast işlemi için OBS kullanıyorum.
### Markdown Editor
Markdown yazıları için Remarkable kullanıyorum.
### Terminal
Terminal aracı olarak terminator kullanıyorum. Program içerisinde pencere ayırma fonksiyonu oldukça işime yarıyor.
### Torrent İstemci
Torrent client olarak Transmission kullanıyorum.
### Resim Görüntüleyici
Resim görüntüleyici olarak feh kullanıyorum.
### Müzik Oynatıcı
Müzik oynatıcı olarak cmus kullanıyorum. vim benzeri bir kullanımı olması rahatlık veriyor.
### Diğer Araçlar
Ekstra ekranların yönetimi için arandr, gereksiz dosyaların temizleme işlemini otomatikleştirmek için bleachbit,
## Geliştirici Araçları
### PHP IDE
PHP IDE olarak PHPStorm kullanıyorum.
### C/C++ IDE
C ve C++ geliştirmeleri için CLion kullanıyorum.
### Python IDE
Python geliştirmeleri için PyCharm kullanıyorum.
### FTP
FTP için Filezilla kullanıyorum. Yakın bir zamanda daha lightweight bir araç tercih edeceğim.
### Webserver
Web server olarak LAMP Stack kullanıyorum.
### API
API’leri test etmek için postman kullanıyorum.