feature image

2022年12月18日 | ブログ記事

オレオレdotfilesを作った

traP アドベントカレンダー2022の23日目、12/17(土)の記事です。一日遅れてしまいました...

そもそもdotfilesってなにさ

ようこそdotfilesの世界へ - Qiita これを読むと全てがわかります。
大体↓のような流れで生まれるものです(ソースは自分)。

ターミナル操作楽しいな
→ PowerLineかっけぇ
→ 設定いじってオレオレターミナル作るの楽しい
→ 設定ファイル増えてきたな、git管理しよ
→ ファイル名がdot.始まりのファイル群だからリポジトリ名はdotfilesで

オレオレ設定を共有しようという雰囲気もあると思います。この記事はそんなdotfilesを作って二ヶ月ほどが経過したH1ronoによるオレオレdotfilesの紹介です。

出来上がったものがこちら

GitHub - H1rono/dotfiles: my dotfiles
my dotfiles. Contribute to H1rono/dotfiles development by creating an account on GitHub.

動作を確認した環境はM1 MacBook Air(macOS Ventura), Raspberry Pi 4B(Raspberry Pi OS | Ubuntu 22.04)です。

構成

スクリーンショット

OneDarkが好きなので、カラースキームはFigmaで公開されているOneDark Proのカラースキームを参考にしました。気づいたらいかにもPowerLineな見た目になってました。

zshまわりのこだわりポイント

主にプラグインマネージャ/プロンプト改造のこだわりです。

(オープンソースに何言ってんだみたいなツッコミが一部聞こえてくる気がしますがそれはさておき) ↑のような点を考慮しつつ調べた結果、たどり着いたのが↓の2つです

どちらも最近流行り(?)のRust製でサクサク動きます。
Sheldonは↓のように、1行で適用できるカスタマイズをプラグインとして設定ファイルに書けるのがいい点です。

[plugins.ls-coloring]
inline = 'alias ls="/bin/ls --color=always"'

おかげで~/.zshrcはSheldonの読み込み1行だけになりました。Starshipは現在のパス、gitリポジトリの状況、直前のコマンド実行にかかった時間などの数ある機能の中から、プロンプトに表示させたいものだけを選んで適用することができます。機能ごとに表示のフォーマット(背景色など)をカスタマイズすることができるので、欲しい情報だけを欲しい形で得ることができます。

ターミナルエミュレータのこだわりポイント

WezTermは↑の条件を満たしています。また、設定はLuaというプログラミング言語で書くので、「このパスに画像ファイルがあったら背景に使う、なかったら別のパスを探す、全てダメであれば黒色」のような条件分岐も可能です。ドキュメントが充実しているのも相まって、設定にこだわり始めるとキリがないです。

そのうち やりたい/やらねばいけない こと

リポジトリにはインストーラとしてinstall.shというファイルが置いてあります。しかしインストーラとは名ばかりで、実際にはリポジトリ内のdotfilesたちをホームディレクトリ直下などの適切な場所にシンボリックリンクを貼るだけのスクリプトです。依存しているプログラムたちがインストールされているかどうかを確認、入っていなければインストールする、といったスクリプトも追加したいなと思ってます。

↑と関連して、Brewfileを置くのもアリかなと思ってます。しかしそうするとmac以外での使用が少々厳しくなるのが...

neovimの設定も置いてありますが何もいじってないような状態なので、そのうちゴリゴリに改造したいなと思ってます。

yabaiというmac用のウィンドウマネージャを見つけたのですが、これもいつか入れたいなと思ってます。linux系(主にubuntu)でおすすめのウィンドウマネージャがあったら是非教えてください。

おしまい

是非みなさんのおすすめ設定 / オレオレdotfilesを教えてください。次の担当は@hijiki51さんと@d_etteiu8383さんです!

H1rono_K icon
この記事を書いた人
H1rono_K

趣味プログラマー(大学生)

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2022年11月27日
Chromebook&VSCode Server(プレビューアクセスなし)で開発環境を作る
oribe icon oribe
2022年12月19日
2020春ハッカソン参加記 4班『外郎集め』【AdC 2022 25日目】
kashiwade icon kashiwade
2022年12月15日
明日香......好きだ............
mera icon mera
2022年12月12日
Unityで†リアルタイムな†AR文字認識ゲームが作れなかった話(tesseractを使用)
Hinaruhi icon Hinaruhi
2022年12月5日
VRChatの環境を構築しよう!外部ツールやゲーム内設定まとめ
pikachu icon pikachu
2022年12月5日
Storybook使ってみた
mehm8128 icon mehm8128
記事一覧 タグ一覧 Google アナリティクスについて