Merhaba

İnstagram üzerinden hikayelerimi takip edenler Windows Terminalimi nasıl özelleştirdiğim konusunda sorular soruyordu. 🙄 Bu konu hakkında blog yazımı bekleyin dedim ve o beklenen an geldi 😂🥱

Malzemeler 🥗

  • Nerd Fonts

  • Windows Terminal Preview

  • Windows PowerShell

  • Scoop

  • Git

  • Oh My Posh

  • Terminal Icons

  • PSReadLine

  • Z

  • PSFzf

Font

Eğer terminalinizde ikonların doğru şekilde görüntülenmesini istiyorsanız ;

  • Nerd Fonts kullanmalısınız.
  • Nerd fonts’un tamamı 2 GB’dan daha fazladır. Hepsini indirmek zorunda değilsiniz,beğendiğiniz fontu seçip kurun keyfinize bakın =)

Microsoft Mağaza

Mağazan bu iki uygulamayı kuruyoruz. Kurduktan sonra Windows Terminal uygulamamızı açıyoruz ve ayarlara giriyoruz.

windows-terminal

Ayarlara girdikten sonra görünüm sekmesindeki ayarlarınız şu şekilde olmalı.

windows-terminal2

Ayarları kaydettikten sonra Startup kısmına tıklayın. Yüklemiş olduğumuz Powershell ‘i varsayılan olarak ayarlayın

windows-terminal3

Ayarları kaydedin ve Defaults sekmesine gelin, oradan Apperance kısmından Font ayarlarınızı yapın.

windows-terminal4

Font ayarlarınızı yaptıktan sonra yine aynı ekranda bulunan “Enable Acrylic” i aktif konuma getirin ve ayarlarınızı kaydedin.

windows-terminal5

Tüm bunları yaptıktan sonra Terminalinizi kapatıp yeniden açın.

Scoop

Scoop u kurmak için sırasıyla aşağıdaki komutları yazın.


Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

irm get.scoop.sh | iex

Scoop’u kurduktan sonra paket bulunamadı gibi hatalarla karşılaşmamak için şu komutları çalıştırın.


scoop bucket add main

scoop bucket add extras

Veritabanını güncelleyecektir. Bu işlem biraz zaman alabilir..

Kurulum Tamamlandıktan sonra


scoop install curl sudo jq

paketlerini kurun.

output


Installing '7zip'  (21.07)  [64bit]

7z2107-x64.msi (1,8 MB)  [=========================================] 100%

Checking hash of 7z2107-x64.msi ... ok.

Extracting 7z2107-x64.msi ... done.

Linking ~\scoop\apps\7zip\current =>  ~\scoop\apps\7zip\21.07

Creating shim for  '7z'.

Creating shortcut for 7-Zip (7zFM.exe)

Persisting Codecs

Persisting Formats

Running post-install script...

'7zip'  (21.07) was installed successfully!

Notes

-----

Add 7-Zip as a context menu option by running:

"C:\Users\Friday13\scoop\apps\7zip\current\install-context.reg"

Installing 'curl'  (7.83.1_1)  [64bit]

curl-7.83.1_1-win64-mingw.tar.xz (2,6 MB)  [=======================] 100%

Checking hash of curl-7.83.1_1-win64-mingw.tar.xz ... ok.

Extracting curl-7.83.1_1-win64-mingw.tar.xz ... done.

Linking ~\scoop\apps\curl\current =>  ~\scoop\apps\curl\7.83.1_1

Creating shim for  'curl'.

'curl'  (7.83.1_1) was installed successfully!

Installing 'jq'  (1.6)  [64bit]

jq-win64.exe (3,4 MB)  [===========================================] 100%

Checking hash of jq-win64.exe ... ok.

Linking ~\scoop\apps\jq\current =>  ~\scoop\apps\jq\1.6

Creating shim for  'jq'.

'jq'  (1.6) was installed successfully!

Installing 'sudo'  (0.2020.01.26)  [64bit]

sudo.ps1 (2,2 KB)  [===============================================] 100%

Checking hash of sudo.ps1 ... ok.

Linking ~\scoop\apps\sudo\current =>  ~\scoop\apps\sudo\0.2020.01.26

Creating shim for  'sudo'.

'sudo'  (0.2020.01.26) was installed successfully!

Daha sonra neovim ve gcc paketlerini kuruyoruz.


scoop install neovim gcc

output


Installing 'gcc'  (11.2.0)  [64bit]

components-18.0.7z (96,4 MB)  [====================================] 100%

Checking hash of components-18.0.7z ... ok.

Extracting components-18.0.7z ... done.

Running pre-install script...

Linking ~\scoop\apps\gcc\current =>  ~\scoop\apps\gcc\11.2.0

'gcc'  (11.2.0) was installed successfully!

Installing 'neovim'  (0.7.0)  [64bit]

nvim-win64.zip (36,4 MB)  [========================================] 100%

Checking hash of nvim-win64.zip ... ok.

Extracting nvim-win64.zip ... done.

Linking ~\scoop\apps\neovim\current =>  ~\scoop\apps\neovim\0.7.0

Creating shim for  'nvim'.

Creating shim for  'nvim-qt'.

Creating shortcut for Neovim (nvim-qt.exe)

'neovim'  (0.7.0) was installed successfully!

'neovim' suggests installing 'extras/vcredist2022'.

Git Kurulumu


winget install -e --id Git.Git

output


winget install -e --id Git.Git

The `msstore`  source requires that you view the following agreements before using.

Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction

The source requires the current machine's 2-letter geographic region to be sent to the backend service to function properly (ex. "US").



Do you agree to all the source agreements terms?

[Y] Yes [N] No: Y

Found Git [Git.Git] Version 2.36.1

This application is licensed to you by its owner.

Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.

Downloading https://github.com/git-for-windows/git/releases/download/v2.36.1.windows.1/Git-2.36.1-64-bit.exe

██████████████████████████████ 47.3 MB / 47.3 MB

Successfully verified installer hash

Starting package install...

Successfully installed

Kurulum tamamlandıktan Git ayarlarınızı yapınız. Bilmiyorsanız

Git ssh-key oluşturma (windows&linux)

Powershell Config

Kullanıcı dizininde olduğunuzdan emin olun. C:\Users\KullanıcıAdınız. Bu dizindeyken bu işlemleri yapın. Terminali açtığınızda varsayılan olarak bu dizin açılır,eğer değiştirdiyseniz diye söylüyorum. Sonra vay efendim bizde olmuyor demeyin :)


mkdir .config/powershell

Sonra oluşturduğumuz bu dizin altına user_profile adında dosya oluşturuyoruz. Bu işlemleri dosya yöneticisindede yapabilirsiniz.(Sağ tık dosya oluştur vs)


nvim .\.config\powershell\user_profile.ps1

içerisine


# set PowerShell to UTF-8

[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding



Import-Module posh-git

# Get-PoshThemes

$omp_config = ".\material.omp.json"

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\$omp_config"  | Invoke-Expression

# oh-my-posh --init --shell pwsh --config $omp_config | Invoke-Expression

# oh-my-posh init pwsh --config C:\Users\Friday13\AppData\Local\Programs\oh-my-posh\themes/jandedobbeleer.omp.json | Invoke-Expression



Import-Module -Name Terminal-Icons

# PSReadLine

Set-PSReadLineOption -EditMode Vi

Set-PSReadLineOption -BellStyle None

Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar

Set-PSReadLineOption -PredictionSource History



# Fzf

Import-Module PSFzf

Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+f' -PSReadlineChordReverseHistory 'Ctrl+r'



# Env

$env:GIT_SSH = "C:\Windows\system32\OpenSSH\ssh.exe"



# Alias

Set-Alias -Name vim -Value nvim

Set-Alias ll ls

Set-Alias g git

Set-Alias grep findstr

Set-Alias tig 'C:\Program Files\Git\usr\bin\tig.exe'

Set-Alias less 'C:\Program Files\Git\usr\bin\less.exe'



# Utilities

function  which  ($command) {

Get-Command -Name $command -ErrorAction SilentlyContinue |

Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue

}

daha sonra bu ayarları yaptıktan sonra


nvim $PROFILE.CurrentUserCurrentHost

içerisine şunu yazın.


.  $env:USERPROFILE\.config\powershell\user_profile.ps1

terminalizi kapatıp açın. Test edelim.


ll

yazın size renkli bir biçimde dizinin çıktısını verecektir. Unutmadan user_profile içerisinde ki bazı paketleri kurmadık, ekranda hatalar çıkması normaldir 💀Paketleri kurmaya başlayalım.

Paketler

Oh My Posh paketimizi kuralım.Sırasıyla iki komutuda terminale yapıştırıp entere basın 😏


Install-Module posh-git -Scope CurrentUser -Force

winget install oh-my-posh

Terminali kapatıp açın.

NVM (NodeJS Version Manager)


scoop install nvm # kurduktan sonra terminali kapatıp açın

nvm install lts

nvm use lts # Hata verirse

nvm use lts yazdığınızda şöyle bir uyarı alıyorsanız.

exit status 1: You do not have sufficient privilege to perform this operation.

Terminali kapatıp yönetici olarak çalıştırın. Tekrardan nvm use lts yazın ve terminali kapatıp normal olarak başlatın.

Terminal Icons


Install-Module -Name Terminal-Icons -Repository PSGallery -Force

terminali kapatıp açın, test etmek için


ll

komutunu yazın ve dosya isimlerinin yanında ikonlar görmelisiniz.

Z


Install-Module -Name z -Force

PSReadLine


Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck

FZF


scoop install fzf

output


Installing 'fzf'  (0.30.0)  [64bit]

fzf-0.30.0-windows_amd64.zip (1,3 MB)  [=====================] 100%

Checking hash of fzf-0.30.0-windows_amd64.zip ... ok.

Extracting fzf-0.30.0-windows_amd64.zip ... done.

Linking ~\scoop\apps\fzf\current =>  ~\scoop\apps\fzf\0.30.0

Creating shim for  'fzf'.

'fzf'  (0.30.0) was installed successfully!

PSFzf


Install-Module -Name PSFzf -Scope CurrentUser -Force

Sonuç

windows-terminal6

Bana Balık Tutmasını öğretme,bana balık ver

Bu yazımı okuyorsanız muhtemelen Git nedir biliyorsunuzdur 👊 Linux tarafında ki sorunsuz çalışan araçlar Windows ta sorunlu çalışabiliyor. Örneğin GPG kullanırken sorun yaşamıyorsanız kullanmaya devam edin 🧠 Ama sorun yaşıyorsanızgpg4win” kullanmanızı tavsiye ederim. Scoop ile kurulum yaparken terminalinizi yönetici olarak çalıştırın aksi halde sorun yaşarsınız.


scoop install gpg4win

Windows Terminal DotFiles ayarlarıma buradan ulaşabilir,kendinize göre düzenleyebilirsiniz.