Windows でCUI戦略
windows は GUI 操作が当たり前でしたが、最近になってCUIもマシになってきているので個人的セットアップ方法を記述します。
適宜いらないと判断した部分は飛ばしてください。
CLI環境の基礎
まず Windows Terminal を用意してください。
windows11 なら標準で「ターミナル」という名前で入っているものです。
windows10 ユーザーなら MicrosoftStore か何かで WindowsTerminal と検索すれば出てくるでしょう。
https://scrapbox.io/files/64f332f8bd5551001c925770.png
Powershell はデフォルトで入っている青いやつじゃないものを使用します。
MicrosoftStore で powershell で検索すると出てくるものをインストールします。
https://scrapbox.io/files/64f332d9ac909c001c449064.png
WindowsTerminalを起動し、設定から「既定のプロファイル」をインストールした Powershell に変更します。
https://scrapbox.io/files/64f3338695fa58001b9ce8bc.png
フォント
WindowsTerminal で使用するフォントをインストールします。何かと都合が良いので NerdFont をインストールします。
以下から URL から 好きなフォントを選んでダウンロードしてください。
ダウンロードしたら解凍して Windows の設定(検索でフォントと打ったら出てくる)からフォント設定を開き、展開した 「.ttf」ファイルを D&D してインストールします。
(もしかしたらフォントのインストール後にPCの再起動、もしくはWindowsTerminalの再起動が必要な場合があります。筆者は必要ありませんでした。)
WindowsTerminal の設定から既定値 > 外観 > フォントフェイス からインストールしたフォントを選択します。
フォントサイズや配色、背景画像や透明度などが設定できます。適宜設定してください。
(配色などは「JSONファイルを開く」からより詳細にカスタマイズできます。)
Powershellをカスタマイズする
以下のファイルを作成します。
$env:USERPROFILE/Documents/PowerShell/Microsoft.PowerShell_profile.ps1
以下のように記述して、configファイルを .config 以下に配置させます。
code: Microsoft.PowerShell_profile.ps1
$env:USERPROFILE\.config\powershell\user_profile.ps1
以下のような設定を記述していきます。powershellの詳細なカスタマイズ方法は各自調べてください。
code: $env:USERPROFILE\.config\powershell\user_profile.ps1
Set-Alias touch New-Item
パッケージ管理
パッケージ管理は winget と scoop を使用します。
curl -O や wget 、GUIからダウンロード&インストールは極力やめましょう。管理が面倒です。
winget は windows ではデフォルトで入っています。
scoopは公式を参考にインストールします。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
irm get.scoop.sh | iex
パッケージを探すには以下のコマンドを叩く
winget search {sample_package_name}
scoop search {sample_package_name}
必要なパッケージをインストール
Git のインストール
言わずもがなですが、gitは必須です。wingetでインストールします。
winget install Git.Git
starshipのインストールと設定
見た目を自分なりにカスタマイズすることができます。
winget install Starship.Starship
powershellのconfigファイルに以下の行を追加します。
code: $env:USERPROFILE\.config\powershell\user_profile.ps1
Invoke-Expression (&starship init powershell)
%USERPROFILE%/.config/starship.toml
もしくは環境変数に STARSHIP_CONFIG という項目を追加して読み込み先の toml ファイルのパスを保存しておくとそのファイルを読み込みます。
デフォルトでは以下のような表示になると思います。
https://scrapbox.io/files/64f330e389732b001bb0064b.png
Neovimのインストール
エディタです。CUI なら Vim!!!! (まぁVSCodeでも構いませんが......)
winget なら winget install Neovim.Neovim
scoop なら scoop install neovim
以下のように適宜環境変数を設定しておくと設定やキャッシュがどこにあるかとかを迷わなくて済むかもしれません。
XDG_CACHE_HOME: C:\Users\{ユーザー名}\.cache\nvim
XDG_CONFIG_HOME: C:\Users\{ユーザー名}\.config
XDG_DATA_HOME: C:\Users\{ユーザー名}\.cache\nvim-data
.config/nvim はひとの dotfile を参考にするなどしてください。
その他のインストール
便利だと思うツールをインストールしましょう。
例
scoop install fd : 高速ファイル検索
scoop install lsd : linux ls の代わり
scoop install gcc : gcc
scoop install nvm : node version manager
scoop install gh : github action CLI
etc......
scoop list や winget list でインストールしているツールの一覧を表示してくれます。
アンインストールは scoop uninstall hoge や winget uninstall hoge でできます。