ホームディレクトリ配下の設定ファイルを、このリポジトリで管理するための dotfiles です。 各設定は Git で追跡し、別環境でも同じ作業環境を再現できるようにします。
- 設定ファイルの実体はこのリポジトリに置く
install.shでHOMEにシンボリックリンクを作る- 既存ファイルは
~/.dotbackup/<timestamp>/に退避する - 管理対象は
.linktargetsで明示的に指定する
task の実行には Task が必要です。
# Ubuntu / Debian
curl -1sLf 'https://dl.cloudsmith.io/public/task/task/setup.deb.sh' | sudo -E bash
sudo apt install task
# macOS
brew install go-task
# インストールスクリプト(汎用)
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin-
Taskfile.dist.yaml(配布用 Taskfile)をコピーして自分用のTaskfile.yamlを作成する -
Taskfile.dist.yaml(gitリポジトリに格納される)は配布用です。新しい機能が追加されると随時更新されます。 こちらをTaskfile.yaml(gitリポジトリに格納されない)にコピーして自分のローカル環境に合うように設定を編集して使用してください。 -
$taskで呼び出されるファイルには優先順位があります。
- すべてのタスクは Taskfile に定義されています。
- 必要なタスクを実行してください
- $ task <タスク名>
install.sh の動作は以下です。
.linktargetsを上から順に読む- 空行と
#コメント行は無視する HOMEに同名ファイルやディレクトリがあればバックアップする- すでに同じリンクが存在する場合は
skipする
現在のリンク対象は .linktargets で管理しています。
.config/tmux
.config/nvim
対象を増やす場合は .linktargets に 1 行ずつ追加します。
.config/tmux
.config/nvim
.bashrc
.profile
追加したパスは、このリポジトリ直下に存在している必要があります。
フォント本体はこのリポジトリには含めません。
必要なフォントはセットアップ時に upstream から取得して ~/.local/share/fonts に配置します。
現在は Nerd Fonts 合成版の HackGen を scripts/install-fonts.sh で導入します。
task fonts:install
スクリプトは ~/.local/share/fonts/HackGen_NF/ に展開し、利用可能なら fc-cache を更新します。
取得元 URL と固定バージョンは scripts/install-fonts.sh で管理します。
- 設定を変更・追加する
- 対応する設定ファイルをこのリポジトリで更新する
task install:dry-runで対象を確認するtask installで反映する- 必要なら
task fonts:installでフォントを導入する git addgit commitgit pushで保存する
install.sh: バックアップとシンボリックリンク作成.linktargets: リンク対象一覧Taskfile.dist.yml: タスク定義配布用scripts/install-fonts.sh: フォント取得とインストール