Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
dotfiles はじめてみた
Search
snoguchi1212
August 20, 2024
Programming
0
120
dotfiles はじめてみた
snoguchi1212
August 20, 2024
Tweet
Share
More Decks by snoguchi1212
See All by snoguchi1212
良いコードってなんだ?
snoguchi1212
0
47
MSWの活用
snoguchi1212
1
200
Other Decks in Programming
See All in Programming
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
250
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
Developing static sites with Ruby
okuramasafumi
0
310
AIコーディングエージェント(Manus)
kondai24
0
200
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
120
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
760
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
チームをチームにするEM
hitode909
0
350
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
120
Cell-Based Architecture
larchanjo
0
130
sbt 2
xuwei_k
0
300
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
850
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
120
Context Engineering - Making Every Token Count
addyosmani
9
540
Claude Code のすすめ
schroneko
65
200k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
25
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
19
Faster Mobile Websites
deanohume
310
31k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Tell your own story through comics
letsgokoyo
0
740
Transcript
dotfiles 始めました 野口将輝
1. 自己紹介 Beenos 株式会社 24卒 野口 将輝 主な技術スタック React NextJS
Laravel 興味のある技術 GitHub Actions 趣味 野球観戦、服、コーヒー
2. 目次 目次 1. Title 2. 目次 3. dotfiles とは?
4. 作成するときのポイント 5. 作成してみて良かったポイント 6. 注意するべきポイント
3. dotfiles とは? dotfiles とは? パソコン内の設定ファイルを入れたファイル群またはそのリポジトリ .zshrc , .vimrc といったファイルが格納されていることが多いことからこのような名前がつけられて
いる
3. dotfiles とは? My Settings alacritty alacritty という Rust 製の
Terminal アプリ設定ファイル bin スクリプトファイル brew brew 経由でインストールするパッケージやアプリのリスト espanso Rust で書かれている OSS のテキストエキスパンダーの設定フ ァイル。 git git の設定ファイル群 コマンドラインテキストエディターは、nvim を利用している ので、その設定ファイル + パッケージリスト starship プロンプトの装飾を行うアプリ vscode VSCode の設定ファイル zsh shell の設定
4. 作成するときのポイント 作成するときのポイント 他の人の dotfiles を参考にする ファイルをシンボリックリンクで配置する ファイル分割を積極的にする
4. 作成するときのポイント 他の人の dotfiles を参考にする ヒット件数: 225k!! Dotfiles! Here's how
Dotfiles! Here's how … … YouTube: Dotfiles! Here's how I organize them. - Andrew Burgess
4. 作成するときのポイント ファイルをシンボリックリンクで配置する 各ディレクトリにシンボリックリンクを張りたいファイルに links.prop を作成し、 bash $DOTFILES/install/bootstrap.sh を実行することでシンボリックリンクを貼れるようにしている! nvim/links.prop
$DOTFILES/nvim/init.vim=$HOME/.config/nvim/init.vim install/bootstrap.sh の一部 while read -r linkfile; do while read -r line; do src=$(eval echo "${line}" | cut -d '=' -f 1) dst=$(eval echo "${line}" | cut -d '=' -f 2) dir=$(dirname "${dst}") mkdir -p "${dir}" link_file "${src}" "${dst}" done <"${linkfile}" done < <(find -H "${DOTFILES}" -maxdepth 2 -name 'links.prop' -not -path '*.git*')
4. 作成するときのポイント ファイル分割を積極的にする 例えば、テキストエキスパンダー(snippet tool) として使っている `espanso` だと、それぞれの用途ごとに分割している . ├──
README.md ├── config │ └── default.yml ├── install.sh ├── links.prop └── match ├── base.yml ├── date.yml ├── docker-c.yml ├── docker.yml ├── espanso.local.yml ├── git.yml ├── markdown.yml ├── packages ├── password.local.yml └── vim.yml
5. 作成してみて良かったポイント 作成してみてよかったポイント 環境構築が楽 → 新卒で新しい PC になったときの環境構築は爆速でした。 VSCode の設定差分が見れる
VSCode の設定は GUI で行いがち、 、 、 変更すると、実際には vscode/settings/settings.json が変更されており、これを Git 管理対象とすることで、変更差分 を追うことができる!! 設定が一箇所にまとまっていて管理が楽 利用するアプリによって設定ファイルを配置すべき場所が違いがち → とりあえず dotfiles にアクセスすればどこかに設定ファイルがあるという安心感
6. 注意するべきポイント クレデンシャル情報・個人情報を載せない 設定ファイルにはクレデンシャル情報や個人情報が含まれていることが多い。 誤ってリポジトリに含めないようにしましょう。 以下の設定を行っておくことをおすすめします。 git secrets の導入 AWS
謹製の git hooks。 AWS のクレデンシャル情報などの秘匿情報が commit されるのを防いでくれる。 .local ファイルの作成 .gitignore は、上から順番に評価されるので、行頭に * を記述することで、すべてのファイルを git 管理対象外にした上で、 必要なファイルだけを追跡することができるようになる。 特に、 .local に関しては、絶対にリモートリポジトリにあげた くないので、 *.local* を行末に追加しています。
dotfiles を作成して 快適なエンジニア生活を!!
Thank you!