GitHubでスター数の多いdotfilesを使ってみた
企画趣旨
vim-jpではvimrc読書会という試みが2012年から続いています(毎週土曜日23時からgitterでやってます!誰でも参加OK)。
これに習ってdotfilesでも、有名なdotfilesを勝手に使ってみようという企画です。vimrc読書会の方は毎回メンバーは違いますけどだいたい8人くらい集まってってます。今回のこの企画は残念ながら私一人でやります。
中身を読み出すときりがなくなるので、インストールして動作させてみて、いい点やオシャレポイントを見てみようと思います。
ルール
- 外側から見た特徴、機能のみにフォーカスする
- 対象となるリポジトリは半年以内に更新があるものとする
- スター数が多いものから順に試す
- Linux(docker上)で動作すること(私がLinux環境しかないため)
- インストール等がうまくいかずに動かなかったときは動かなかった旨だけ記述
- 3個動くものが試せたらそこで終了
- 試すものは主に、シェル、tmuxのターミナルマルチプレクサ、エディタとする
データ収集
データはGitHubのGraphQLを使って収集することにする。
クエリはこんな感じ
{
search(query: """
dotfiles
stars:>50
pushed:>=2020-06-01
sort:stars
""", type: REPOSITORY, first: 100) {
edges {
node {
... on Repository {
nameWithOwner
stargazerCount
updatedAt
url
description
}
}
}
pageInfo {
endCursor
startCursor
}
}
}
簡単に調べるなら https://awesomeopensource.com/projects/dotfiles というサイトもある模様
調べてみた
出力された結果を一つずつ調べていく。作業内容としてはブラウザでGitHubを開いてREADMEを見ていく地味なもの。
スター数の多いものから列挙していく。
url | stars | comment |
---|---|---|
https://github.com/mathiasbynens/dotfiles | Mac用 | |
https://github.com/gpakosz/.tmux | Linuxで動きそうだけどtmuxの設定しかなかった | |
https://github.com/lewagon/dotfiles | install.shを見てみたらMac用みたい | |
https://github.com/skwp/dotfiles | Mac用 | |
https://github.com/thoughtbot/dotfiles | Mac用 | |
https://github.com/holman/dotfiles | Mac用 | |
https://github.com/paulirish/dotfiles | Mac用 | |
https://github.com/jessfraz/dotfiles | ようやくLinuxで動くdotfilesにたどり着いた。OSの指定は特になかったのでArchLinuxのdocker上でインストールしてみる。使用レポートはこちら | |
https://github.com/elenapan/dotfiles | 調子良く2回連続でLinuxユーザーにあたった。dotfiles上位勢はMacが占めてるみたいなんで2000スターくらいからがLinuxユーザーが多いのかな?Linuxユーザーはあまりブログとか書かないからスターが増えないとか?(適当に邪推してる) 使用レポートはこちら | |
https://github.com/nicknisi/dotfiles | この人もLinuxで動きそうなので最後の評価dotfilesになりそう。シンプル目が多いのでド派手なのを期待したい。使用レポートはこちら |
実際に使ってみた
jessfraz
まず最初に思ったのが、フォントがリポジトリに同梱されてて重い・・・(350MBあった)。 git clone
がなかなか終わらない・・・
インストールはmakeを使っている。インストール時にsystemdのサービスをreloadしようとして失敗する(ここはdocker環境のため)。無視して進める。
どうやらbashユーザーの模様。tmuxも設定がある。エディタはVSCodeを使ってるみたい(なのでdotfiles内には設定がなかった)
インストール時に各種パッケージはインストールしてくれてないのでtmux等は手動インストールが必要だった。
tmuxを起動してみたが最新の3.1-rc-1には対応してないみたいだ。エラーがでる。
全体はこんな感じ。
シンプルなstarship likeなプロンプトに最低限の情報が記述されてるスタイル。gitのブランチも表示されている。
ただ、コマンドの実行結果のコードはほしいところ。tmuxのプレフィックスはCtrl-zを使用してるみたい。なんかシェルの一時停止ができなくなりそうだけどいいのかな??tmuxにあまり設定はしてないみたいなのでターミナルをヘビーに使うユーザーという感じではないみたい。
デスクトップ環境はi3だったのでそちらも見てみたが設定少なめなシンプルな感じだった。
全体的にはシンプルな感じでミニマルdotfilesとしてはいい感じだと思う。
elenapan
READMEが結構しっかりしてる。スヌーピーがかわいい。ArchLinuxユーザーでNeovimユーザーでzshユーザーだ。私と同じ仲間。ウィンドウマネージャーはAwesomeWMらしい。
インストール手順が結構複雑だ・・・5個もフォントが必須って一体・・・今回はミニマルで構成する。
dotfilesのインストーラーがなく適当にコピーしろって感じですかね。
zsh立ち上げるとoh-my-zshがないって怒られたのでインストールする。tmuxは使わなくてシェルもoh-my-zshのほぼデフォルトであまりカスタマイズしてない感じですね。zshのプラグインも入ってない。シンプル、悪く言えば面白くもない。。。
せっかくneovimの設定もあるので立ち上げてみる
プラグインも入ってない感じでシンプル。ちょっとシンプルすぎない?これで開発するのは相当しんどい気がするぞ・・・
nicknisi
スクリーンショット的には結構カスタマイズしているみたいなので期待できる気もする。
!!!Dockerファイルがある!dockerでのセットアップ方法も書いてる。https://github.com/nicknisi/dotfiles#docker-setup
斬新だ。
インストーラーがかっけえ。シンプルが多かったから少し感動。
セットアップはhomebrew(Linux版)を使ってる。Ubuntuとかでも最新のバージョンのソフトが楽にインストールできて、設定も簡単だからいいですね。
gitのセットアップもしてくれる。
zshを起動してみる。おお!プラグインを自動でインストールしてくれた。
プロンプトはpureっぽい見た目でシンプルでいい。補完はfzf補完を使っている模様。zshのプラグイン管理はzfetchっていう自前のものを使っていた。
tmuxはフォントがあってないせいか表示されてない文字がある。lsしたときに色がつかないのが少し気になる(tmuxじゃなくてもつかない)。
tmuxのステータスラインとシェルのテーマもあっていて素敵。紫基調な感じなのかな?
Neovimもおしゃれな見た目でプラグインも50個くらい入ってた。
全体的な総評
スター数が多いものはサンプル的なシンプルなものが多いみたいですね。100-1000スターあたりにもう少し濃ゆいdotfilesがありそうな気もするので、次はもう少し検索条件を見直して調査してみたいと思います。
あと、調べたもののREADMEを見て思ったのは、スター数が多いリポジトリがすごく凝っているかというとそうではなく、ブログやRedditなどでうまく紹介しているものが多いようですね(プロモーションがうまいということ)。
さいごに
偉そうに寸評してるけどお前のはどうやねんって思ってる人もいるので一応貼っておきます。
ArchLinuxのdockerで
pacman -Sy
pacman -S git sudo
git clone https://github.com/yutkat/dotfiles.git
./dotfiles/.bin/dotinstall.sh install
すれば動くと思います。
Discussion