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
400
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.2k
高橋メソッド風の発表を生成するCLIツールをPHPで作った #phpcon_odawara
stefafafan
1
970
令和最新版 ソフトウェアエンジニアのためのDJ入門、あるいはDJに学ぶ仕事術 #ya8
stefafafan
2
570
一番やさしいDJ入門 2024
stefafafan
6
2k
『Goサブ会』によるチームを超えた知見展開、あるいは hatena.go に対する期待 #hatenago
stefafafan
0
2k
開発チーム横断タスクフォース 「Goサブ会」の 運用事例と今後の展望
stefafafan
0
800
Team Topologies輪読会とScrapboxの活用
stefafafan
1
300
Deployment Previewを用意する流れで学んだ良い仕事の進め方
stefafafan
0
1.3k
チーム開発における様々なボトルネックの整理 / Organization of bottlenecks in Team Development
stefafafan
0
3k
Other Decks in Programming
See All in Programming
読もう! Android build ドキュメント
andpad
1
190
SwiftUIのObservationツールの挙動をテストしてみた
kenshih522
0
110
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
140
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
110
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
4
740
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
480
snacks.nvim内のセットアップ不要なプラグインを紹介 / introduce_snacks_nvim
uhooi
0
290
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
2.4k
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
6
2.4k
requirements with math
moony
0
500
新卒から4年間、20年もののWebサービスと 向き合って学んだソフトウェア考古学
oguri
7
6.3k
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
340
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The World Runs on Bad Software
bkeepers
PRO
67
11k
The Cult of Friendly URLs
andyhume
78
6.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Into the Great Unknown - MozCon
thekraken
35
1.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Building Applications with DynamoDB
mza
94
6.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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ʹߘͯ͠Β͑ͨΒΈʹߦ͖·͢