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
すてにゃん
August 24, 2024
Programming
2
360
dotfiles について話したい #湘なんか
湘.なんか #1 - connpass
https://shonanpm.connpass.com/event/321325/
で話した時の資料です。
すてにゃん
August 24, 2024
Tweet
Share
More Decks by すてにゃん
See All by すてにゃん
意義から考えるObservability入門 #srenext
stefafafan
2
1.1k
高橋メソッド風の発表を生成するCLIツールをPHPで作った #phpcon_odawara
stefafafan
1
450
令和最新版 ソフトウェアエンジニアのためのDJ入門、あるいはDJに学ぶ仕事術 #ya8
stefafafan
2
490
一番やさしいDJ入門 2024
stefafafan
6
1.8k
『Goサブ会』によるチームを超えた知見展開、あるいは hatena.go に対する期待 #hatenago
stefafafan
0
1.9k
開発チーム横断タスクフォース 「Goサブ会」の 運用事例と今後の展望
stefafafan
0
720
Team Topologies輪読会とScrapboxの活用
stefafafan
1
290
Deployment Previewを用意する流れで学んだ良い仕事の進め方
stefafafan
0
1.2k
チーム開発における様々なボトルネックの整理 / Organization of bottlenecks in Team Development
stefafafan
0
2.9k
Other Decks in Programming
See All in Programming
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1.1k
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
360
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
660
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
190
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
1
300
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
480
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
2
470
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
200
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
270
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
270
Featured
See All Featured
Building Applications with DynamoDB
mza
91
6.1k
A better future with KSS
kneath
238
17k
The Language of Interfaces
destraynor
155
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Visualization
eitanlees
146
15k
Mobile First: as difficult as doing things right
swwweet
222
9k
GraphQLとの向き合い方2022年版
quramy
44
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Become a Pro
speakerdeck
PRO
26
5k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Transcript
dot fi les ʹ͍͍ͭͯͨ͠ ͯ͢ʹΌΜ (id:stefafafan / @stefafafan) 2024/08/24 ভ.ͳΜ͔
#1
͡Ί·ͯ͠ • ͯ͢ʹΌΜͱݴ͍·͢ • 2024/4 ~ גࣜձࣾΧέϋγͰιϑτΣΞΤϯδχΞͬͯ·͢ @stefafafan
ভ.ͳΜ͔
.ͳΜ͔
dotnanka
dotnanka ͬͯ dot fi les ͱࣅͯͶ?
dot fi les ͷΛ͠·͢ʂ
͓͞Β͍ - dot fi les ͱԿ͔ • .gitcon fi g
ͱ͔ .bashrc ͱ͔ .vimrc ͱ͔ɺʮdotʯͰ࢝·ΔઃఆϑΝΠ ϧ܈ͷ͜ͱΛ·ͱΊͯʮdot fi lesʯͱݺͿ • ࣗͷखݩڥͷηοτΞοϓɺ։ൃνʔϜͷ։ൃڥηοτΞο ϓͳͲͷͨΊʹ͜͏͍͏ઃఆϑΝΠϧΛཧɾڞ༗͢Δͱศར
ࢲͷ߹ • ͜Ε·Ͱ·ͱʹ dot fi les Λӡ༻ͯ͜͠ͳ͔ͬͨ • ʮ৽͍͠MacΛηοτΞοϓ͢ΔͨͼʹλʔϛφϧͷηοτΞοϓɺ Α͘͏ΞϓϦέʔγϣϯͷΠϯετʔϧɺࡉʑͨ͠ઃఆͷௐ͕໘
ͩͳʯͱͬͱʂࢥ͍࢝Ίͨ • →ॏ͍ࠊΛ্͛ͯཧΛ։࢝
GitHub ʹ stefafafan/dot fi les Λ࡞ • https://github.com/stefafafan/dot fi les
• Ҏલ·Ͱ gitcon fi g ͔͠ஔ͍ͯͳ͔͚ͬͨͲɺͬͱ৭ʑى͖࢝Ί ͨͷ͕͜͜Ұिؒ • dot fi lesୡਓͷΈͳ͞Μ͔ΒݟΛಘ͍ͨʂ • ʮ͜Ε͕ࢲͷdot fi lesͰ͢ʯͱXʹϙετ͍ͯͩ͘͠͞
dot fi lesͰԿΛཧ͢Δͷ͔
dot fi lesͰԿΛཧ͢Δͷ͔ • ڀۃతʹGitHubͷϦϙδτϦͷREADMEʹैͬͨΒηοτΞοϓ ͕શʹऴΘΔঢ়ଶʹ͍ͨ͠ • ͰԿΛཧ͢Δͷ͔ʁશ෦ʁ • બఆج४Կʁ
• →ۓٸΞϯέʔτ͠·͢
dot fi lesཧ͍ͯ͠Δਓʁ • ཧ͍ͯ͠Δ • ཧ͍ͯ͠ͳ͍ • (ଠจࣈࢲͷબͰ͢)
ରOSԿʁ • Linux • Mac • Windows • ͦͷ΄͔ •
ෳOSʹରԠ͍ͯ͠Δ
ύοέʔδͷཧ • Homebrew • Nugetͱ͔ • yum, apt, pacman ͳͲ
λʔϛφϧΤϛϡϨʔλʔ (Macલఏ) • Terminal.app • iTerm2 • Warp • Alacritty
• WezTerm • Hyper
γΣϧ • bash • zsh • fi sh • ksh
• nushell • ͦͷ΄͔
ΩϦ͕ͳ͍……ʂ • ଞʹΤσΟλͷઃఆɺλʔϛφϧϚϧνϓϨΫαͷઃఆɺγΣϧͷ ϓϥάΠϯͷઃఆɺλʔϛφϧͷϓϩϯϓτͳͲͷઃఆɺศརγΣϧ εΫϦϓτπʔϧ܈ͳͲஔ͚Δ • Ԟ͕ਂ͍..
dot fi lesͷཧํ๏
ͦ͏͍͑dot fi lesͷཧํ๏Ͳ͏͢Ε • ࢲ https://www.chezmoi.io/ Λ͍࢝Ίͨ • ಡΈํ shay-moi
• GoɺγϯάϧόΠφϦͷπʔϧ • dot fi lesγϯϘϦοΫϦϯΫͰͳ͘ϑΝΠϧͱͯ͠ཧ
chezmoi ͷ͍ํ - ηοτΞοϓ • chezmoi init • chezmoi add
~/.bashrc • chezmoi cd && git add . && git commit -m “foobar” && git push • →खݩͷ ~/.bashrc ΛpushͰ͖ͨ
chezmoi ͷ͍ํ - ଞϚγϯͷద༻ • sh -c "$(curl -fsLS get.chezmoi.io)"
-- init --apply $GITHUB_USERNAME • chezmoi ΠϯετʔϧࡁΈͷ߹ • chezmoi init —apply $GITHUB_USERNAME • ݸਓతʹηοτΞοϓ࣌ʹ get.chezmoi.io ͷΑ͏ͳυϝΠϯΛ͏ ͷ͕Ͳ͜·Ͱ৴༻Ͱ͖Δͷ͔एׯෆ҆ͳؾ͢Δ
Homebrewύοέʔδͷཧ • Brew fi le Λ༻ҙ͢ΕϚγϯΛލ͍Ͱ͍͍ײ͡ʹཧ͍͢͠ • ࢀߟ: Brew fi
le Ͱ Homebrew ͷϥΠϒϥϦΛཧ͠Α͏ʂ https:// kakakakakku.hatenablog.com/entry/2020/09/17/124653
Brew fi le ͷ͍ํ • brew bundle dump • →
Brew fi le͕Ͱ͖ΔͷͰதΛదʹௐͯ͠ίϛοτ • ଞϚγϯͰ brew bundle • Brew fi leʹ͋Δύοέʔδ͕Πϯετʔϧ͞ΕΔ • https://github.com/stefafafan/dot fi les/blob/main/Brew fi le
ػີใͷཧ͕ؾʹͳΔ
ػີใͲ͏͢Δʁ • dot fi lesͰཧ͠ͳ͍? • “ͳΜ͔͍͍ײ͡ʹ͢Δ”? • →Ͳ͏͍͏͜ͱʁ
ػີใͲ͏͢Δʁ - chezmoiฤ • chezmoi͞·͟·ͳPassword managerͱͷ࿈ܞʹରԠ͍ͯ͠Δ • https://www.chezmoi.io/user-guide/password-managers/ • ྫ͑
1Password ͷ CLI ͔Β伴ͷΛऔಘ͢ΔɺΈ͍ͨͳ͜ͱ͕Ͱ͖Δ • ࢀߟ: https://zenn.dev/ryo_kawamata/articles/introduce- chezmoi#1passwordΛར༻ͨ͠ηΩϡΞͳཧ • AWS Secrets Manager, MacOSͷKeychainͳͲʹରԠ͍ͯ͠·͢
·ͱΊ • dot fi lesΛཧ͢Δͱ৽͍͠ϚγϯͷηοτΞοϓνʔϜͱڞ௨ͷ ઃఆΛڞ༗͢Δ͜ͱ͕Ͱ͖ͯศར • chezmoiΛ͏ͱ؆୯ʹཧͰ͖Δ͠ɺػີใ্ख͘࿈ܞͰ͖Δ • Έͳ͞Μͷdot
fi lesݟΛڭ͍͑ͯͩ͘͞ • Xʹߘͯ͠Β͑ͨΒΈʹߦ͖·͢