Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
dotfiles はじめてみた
Search
snoguchi1212
August 20, 2024
Programming
0
130
dotfiles はじめてみた
snoguchi1212
August 20, 2024
Tweet
Share
More Decks by snoguchi1212
See All by snoguchi1212
良いコードってなんだ?
snoguchi1212
0
51
MSWの活用
snoguchi1212
1
220
Other Decks in Programming
See All in Programming
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
580
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
290
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.9k
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
6
2.1k
SourceGeneratorのマーカー属性問題について
htkym
0
200
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.2k
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
610
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
200
Windows on Ryzen and I
seosoft
0
320
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
230
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The SEO identity crisis: Don't let AI make you average
varn
0
420
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
52k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
53k
Crafting Experiences
bethany
1
89
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
85
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
43k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Pragmatic Product Professional
lauravandoore
37
7.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
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!