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
31
dotfiles はじめてみた
snoguchi1212
August 20, 2024
Tweet
Share
More Decks by snoguchi1212
See All by snoguchi1212
良いコードってなんだ?
snoguchi1212
0
11
MSWの活用
snoguchi1212
1
100
Other Decks in Programming
See All in Programming
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
900
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
240
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
CSC509 Lecture 12
javiergs
PRO
0
160
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.7k
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
110
Amazon Qを使ってIaCを触ろう!
maruto
0
420
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
230
Remix on Hono on Cloudflare Workers
yusukebe
1
300
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building Your Own Lightsaber
phodgson
103
6.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Site-Speed That Sticks
csswizardry
0
28
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
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!