PowerShell 꾸미기

변찬우·2021년 10월 16일
9
post-thumbnail

Windows PowerShell의 기본 테마는 정말이지 너무나도 싫다
위키백과 이미지를 봐도 정말 눈이 썩을 것 같다

오늘은 한 번 다른 os의 터미널처럼 PowerShell을 꾸며보고자 한다.

1. Install Nerd Font

Nerd Font는 일반 폰트에 많은 아이콘을 추가해 주는 프로젝트이다
나의 경우 FiraCode Nerd Font를 사용하고 있다

nerd font download 사이트


2. Install Windows Terminal and PowerShell

Windows Terminal은 Terminal에 여러 가지 기능을 사용할 수 있게 해주고
PowerShell은 .NET에 구축된 작업 기반 커맨드라인 셸 및 스크립팅 언어이다.

Windows TerminalPowerShell은 Microsoft Store에서 설치할 수 있다

Windows Terminal 설치 링크
Powershell 설치 링크


3. Install Scoop

scoop는 windows에서도 간단하게 command line에서 프로그램을 설치할 수 있도록 도와주는 프로그램이다.

관리자 권한으로 powershell을 열고 아래 명령어를 입력해 준다.

> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
> irm get.scoop.sh | iex

scoop 공식 사이트


4. Configure Windows Terminal

Windows Terminal을 실행시키면 상단에 탭바를 볼 수 있다.

여기서 가장 오른쪽에 위치한 화살표를 누르면 여러 터미널 리스트를 볼 수 있다 거기서 설정 부분을 눌러주면 Windows Terminal을 다룰 수 있는 창이 나온다

거기서 시작에 기본 프로필을 PowerShell로 변경해 준다

그 아래에 기본 터미널 응용 프로그램이라는 부분이 있는데 아마 초기에는 콘솔 호스트로 설정이 되어있을 것이다. 이걸 Windows 터미널로 변경한다.

마지막으로 왼쪽 하단에 Json 파일 열기를 눌러준다
그럼 메모장 또는 코드 에디터로 setting.json파일이 열릴 건데 여기서 profiles.default 부분에 아래 코드를 넣어준다

{
  "colorScheme": "One Half Dark", // 아래로 내리다 보면 schemes 라는 부분이 있는데 거기서 맘에 드는 scheme의 name을 적어준다
  "font": {
    "face": "FiraCode NF" // Nerd Font에서 설치한 폰트 이름
  },
  "startingDirectory": "D:\\GitHub", // 터미널을 열었을 때 시작할 위치
  "opacity": 70, // 투명도
  "useAcrylic": true // 터미널을 투명하게 사용할 건지
},

5. Install Neovim, gcc

Neovim은 앞으로 터미널을 꾸미면서 유용하게 쓸 것이다. 하지만 익숙하지 않다면 메모장이나 VSCode를 사용해도 좋다.
gcc는 c언어 compiler이다

아래 명령어를 통해 Neovimgcc를 설치한다

> scoop install neovim gcc

마지막으로 컴퓨터를 다시 시작해 준다


6. Make user profile and set command aliases

아래와 같이 터미널에 입력하면 neovim 창이 열리게 된다

> mkdir ~\.config\powershell
> cd ~\.config\powershell
> nvim user_profile.ps1

여기서 user_profile.ps1 파일에 아래와 같이 입력하고 저장하면 명령어를 단축하거나 편한 대로 커스텀 할 수 있다. (하지만 이직 user_profile.ps1 이 적용되지는 않아서 사용할 수는 없다)

Set-Alias ll ls
Set-Alias vi nvim
Set-Alias g git

파일을 저장한 후에 터미널에 아래와 같이 입력해 준다

> nvim $PROFILE.CurrentUserCurrentHost

이 파일에는 아래와 같이 입력한 후에 저장을 하고 나온다

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

마지막으로 터미널을 닫았다 다시 실행시켜 주면 Set-Alias 명령어가 실행된 것을 알 수 있다.


7. Install Oh My Posh

Oh My Posh는 터미널을 꾸밀 때 사용할 프롬프트 엔진이다.

Oh My Posh 공식 사이트

아래 명령어를 터미널에 입력한 후 터미널을 닫았다 다시 열어주면 된다

> scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json

oh-my-posh가 설치 되었는지 확인하는 방법은 터미널에 아래와 같이 입력했을 때 오류가 나지 않고 oh-my-posh의 버전이 뜨면 설치가 완료된 것이다

> oh-my-posh --version
8.25.0

마지막으로 터미널에서 아래 명령어를 입력하면 command line이 예쁘게 변하는 것을 볼 수 있다

oh my posh 공식 문서에 있는 테마들

// Set-PoshPrompt -Theme [테마 이름]
> Set-PoshPrompt -Theme jandedobbeleer

하지만 터미널을 닫고 다시 열면 다시 못생긴 터미널로 돌아오는 것을 볼 수 있다


8. Save Prompt theme

우선 아래 링크에 들어가서 맘에 드는 테마의 이름을 누르면 복잡하게 생긴 json 파일이 나오는데 그걸 전부 복사해 준다.

oh my posh 공식 문서에 있는 테마들

그다음 아래 명령어를 통해 promptTheme.json파일을 만들고 그 파일 안에 복잡한 json 코드를 넣고 저장해 준다.

> cd ~\.config\powershell
> nvim promptTheme.json

마지막으로 user_profile.ps1 파일에 아래 코드를 추가해 준다

function Get-ScriptDirectory { Split-Path $MyInvocation.ScriptName }
$PROMPT_CONFIG = Join-Path (Get-ScriptDirectory) 'promptTheme.json'
oh-my-posh --init --shell pwsh --config $PROMPT_CONFIG | Invoke-Expression

이후 터미널을 다시시작 해주면 예쁜 터미널을 종료한 후에도 계속해서 볼 수 있다.


9. Bonus

터미널에 아래 명령어를 입력해 준다

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

그 후 user_profile.ps1파일에 아래 코드를 추가해 주고 터미널을 다시 시작해 준다.

Import-Module -Name Terminal-Icons

그럼 ls를 했을 때 아래와 같이 예쁘게 icon이 붙어서 나오게 된다

devaslife Youtube (참고 영상)

profile
잘 먹고 잘 살고 싶다 하핳

2개의 댓글

comment-user-thumbnail
2022년 7월 19일

잘 보고 갑니다! ㅎㅎㅎ

답글 달기
comment-user-thumbnail
2022년 7월 20일

오 정말 좋은 꿀팁인데요!!

답글 달기