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
98
dotfiles はじめてみた
snoguchi1212
August 20, 2024
Tweet
Share
More Decks by snoguchi1212
See All by snoguchi1212
良いコードってなんだ?
snoguchi1212
0
38
MSWの活用
snoguchi1212
1
180
Other Decks in Programming
See All in Programming
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
160
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
730
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
290
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
390
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
890
ふつうの技術スタックでアート作品を作ってみる
akira888
1
860
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
1
190
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
570
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
590
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
Team operations that are not burdened by SRE
kazatohiei
1
310
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimizing for Happiness
mojombo
379
70k
Navigating Team Friction
lara
187
15k
A Modern Web Designer's Workflow
chriscoyier
695
190k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to Ace a Technical Interview
jacobian
278
23k
BBQ
matthewcrist
89
9.7k
Agile that works and the tools we love
rasmusluckow
329
21k
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!