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
50
dotfiles はじめてみた
snoguchi1212
August 20, 2024
Tweet
Share
More Decks by snoguchi1212
See All by snoguchi1212
良いコードってなんだ?
snoguchi1212
0
27
MSWの活用
snoguchi1212
1
160
Other Decks in Programming
See All in Programming
時計仕掛けのCompose
mkeeda
1
280
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
110
Formの複雑さに立ち向かう
bmthd
1
720
Honoとフロントエンドの 型安全性について
yodaka
4
250
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
41
15k
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.1k
Writing documentation can be fun with plugin system
okuramasafumi
0
120
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
370
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.1k
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
300
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
50k
What's in a price? How to price your products and services
michaelherold
244
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Designing Experiences People Love
moore
139
23k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Fireside Chat
paigeccino
34
3.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
29
4.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Designing for humans not robots
tammielis
250
25k
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!