このブログははてなブログからの移行記事です。

dotfilesを作った

今までずっとoh-my-zshに甘えさせてもらって開発をしていたのだがShellに慣れるにつれて痒いところに手が届かなかったり高機能がゆえに動作が重い時に悲しくなったりしてたので、自前のdotfilesをコツコツ育ててきた。

それが結構ほぼ(僕は)不自由なく使えるところまで来たので紹介します。

ちなみにですがoh-my-zshに嫌気が差したわけでなく、卒業したのであってoh-my-zshは最高だと思います| ω・´)

ソース

ソースはこちら!

GitHub: sota1235/dotfiles

Vim周りのファイルはほぼ先輩であるnikezono氏のdotfilesをベースに作成しました(オープンソース最高)

特別な機能はほぼなく、以下の機能の基本を網羅しています。

紹介

工夫したポイントについていくつか紹介します。

インストール周りのコマンド

インストールが1発でできるよう、installコマンドを用意しました。

あと、dotfilesをアップデートしたりアンインストールするためのコマンドも用意しました。

コマンド名がdot_updatedot_uninstallと非常にダサいのでよさげな名前募集してます。

独自設定の記述

たとえ自分で使うだけでも、サーバごとに必要な設定ってありますよね。

例えばコマンドパスとか、インストールしたモジュールのための記述とか。(僕の場合はnvm useとか書いとかなきゃいけない)

そういうのを書くための専用のファイルを$HOME/.zsh_own_configとして生成しています。

# Write your own shell settings
#
# For examples,
#
# ```
# PATH="$HOME/local/bin:$PATH"
# export PATH
# ```
#
# Enjoy your zsh life!

export PATH

このファイルはアンインストールコマンドを叩かないかぎり、永続的に保持されます。

テンプレートファイル

何回も書くけどある程度形式の決まってるもの、例えばREADME.mdLICENSE.txtなんかを生成するコマンドを用意しています。

$ readmeinit

$ ls
README.md

これが結構重宝します。特にREADMEなんかは書くこと決まってる割に覚えられず、リポジトリごとに表記ゆれが激しくなって悲しくなったりするので、ぜひみなさんにおすすめしたいです。

マルチOS対応

今のところ、OS X 10.9、CentOS7に対応しています。

自分が使うOSが増えないかぎり拡張の予定はないです(-ω-)

作ってよかったところ

  • 自分ごのみのshellができあがった
  • 浅く広く、知識がついた
  • GitHubのissue管理機能の偉大さを実感した
  • 些細ながらブログのネタになった

今後の課題

全作業サーバで同じdotfilesを使うと区別がつかない

しばらくパソコンから離れて戻った時、その画面がVPSなのかローカルなのか一瞬とまどったりするので、oh-my-zshみたいにテーマ切り替えをできるようにしたいですね。

OSごとに挙動が若干違う

例えばlsコマンドの候補表示の時のカラーテーマが違ったりするのでそこらへんの知見をためつつ、改修したいですね。

ユーザがいない

誰か使ってプルリクください!!!!!!!!!!!!!

最後に

その他諸々は全てIssueにあがってたりしますので万が一使う人いたら苦情ください。ください。