Nix
Nix
Nix๋ ์ ์ธํ์ผ๋ก ์ฌํ๊ฐ๋ฅํ ์์คํ ์ ๊ตฌ์ถํ๋๋ก ํ๋ ํด์ด๋ค.
Ansible Playbook์ ๋น์ทํ๋ฐ, Ansible์ ๊ทธ๊ฒ์ ๋ช ๋ นํ์ด๋ค.
์ ์ธํ์ด๋ผ๋ ๊ฒ์ด ๋ฌด์จ ๋ป์ด๋ ํ๋ฉด, Nix์ ํ์ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ผ์ข ์ ์ค์ ํ์ผ์ด๋ฉฐ, ๋ช ๋ นํ์ผ๋ก ์คํ๋๋ ์ฝ๋์ ๋ฌ๋ฆฌ ์์์ ์๊ด์ด ์๋ค.
์ฉ๋
๋ค์์ ์ฌ์ฉ์๊ฐ ๋์ผํ ํ๊ฒฝ์์ ์์ ํ ์ ์๋๋ก ์ฌ์ฉํ๋ ๋๊ธฐํ ํด๋ ๊ฐ๋ฅํ๊ณ , ๋งค๋ฒ ๋์ผํ ํ๊ฒฝ์์ ์ ๋ขฐ ๊ฐ๋ฅํ ์๋ฒ ๋ฐฐํฌ๋ฅผ ์ํด ์ฌ์ฉํด๋ ๋๋ค.
๊ทธ๋ฐ๋ฐ Nix ์ฌ์ฉ์ ์ค ์๋น ์๋ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉํ๊ณ ์์ ๊ฒ์ด๋ค.
์ฌ์ค ๋ด๊ฐ Nix๋ฅผ ์์๋ณด๊ฒ ๋ ์ด์ ๋ ๊ฐ๋ฐ ํ๊ฒฝ, dotfiles์ ๋์ฒด์ด๋ค.
dotfiles
๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ์ ๊ณต์ ๋ค์ด๋ ๋์ ๋น์ทํ ์ฌ๋์ด๋ผ๋ฉด dotfiles์ ๋ํด์ ํ๋ฒ์ฏค ๋ค์ด๋ดค์ ์ ์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก dotfiles๋ ๋๋ง์ ๊ฐ๋ฐํ๊ฒฝ์ ์ค์ ํ์ผ๋ก ๋ง๋ค๊ณ , ์ปดํจํฐ๋ฅผ ์ฎ๊ธธ ๋๋ง๋ค ๋ธ๋ผ์ฐ์ ๋ก ์ผ์ผํ ๊ฐ๋ฐ ํด์ ๋ค์ด๋ฐ์ ํ์ ์์ด ์คํฌ๋ฆฝํธ ํ๋๋ก ์ด์ ์ปดํจํฐ์ ๋์ผํ๊ฒ ๋ง๋ ๋ค๋ ๊ฐ๋ ์ด๋ค.
GitHub์ dotfiles๋ฅผ ๊ฒ์ํด๋ณด๋ฉด ์ค์ ๋ก ๊ต์ฅํ ๋ง์ ์ฌ๋๋ค์ด ๋ณธ์ธ๋ง์ ๊ฐ๋ฐ ํ๊ฒฝ์ dotfiles๋ก ๊ตฌ์ถํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
macOS ์ฌ์ฉ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ด๋ฐ ์์ผ๋ก ๊ตฌ์ฑํ๋ ์ฌ๋๋ค์ด ๋ง์ ๊ฒ์ด๋ค.
stow๋ฅผ ํตํด .zshrc, neovim ๋ฑ ์ค์ ํ์ผ์ Symlink ์ค์
Brewfile์ ํตํ homebrew ํจํค์ง ์ค์น ๋ฐ ๋๊ธฐํ
GitHub์ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ํํ๋ dotfiles ํ๋ก์ ํธ ์ ๋ก๋
์ด๋ ๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋ณธ์ธ์ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ๋ฉด์ ๋ณธ์ธ ์ค์ ์ ์ ์ฐฉ๋ ์๊ธฐ๊ณ , ๋ค๋์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ฉด์ ๊ธฐ์ ์ ์ผ๋ก๋ ๋ฐฐ์ฐ๋ ๊ฒ๋ ๋ง๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ๊ฐ๋ฐ์ ๊ฝค ๋ง์ ๋์์ด ๋๋ค.
๋๋ ๋ ธํธ๋ถ์ ์ฌ๋ฌ ๊ฐ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉฐ, ๊ฐ์๋จธ์ ์ ์ด์ฉํด ์์ ํ ๋๋ ์๊ธฐ ๋๋ฌธ์ dotfiles ๊ตฌ์ฑ์ด ํ์ํ๋ค.
๋ณดํต ์ฌ๋๋ค์ด๋ผ๋ฉด ์ฌ๊ธฐ์(dotfiles์์) ๋ง์กฑํ๊ณ ์ผ์ ํ๋ฌ ๋ ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ๋ ์ฌ๊ธฐ์ ๋ง์ ์๋ฌธ์ด ์๊ฒผ๋ค.
์ฒ์์๋ง ์คํํ๋ setup ์คํฌ๋ฆฝํธ์ 2๋ฒ์งธ๋ถํฐ ์คํํ๋ sync(?) ์คํฌ๋ฆฝํธ๋ฅผ ๋ ๊ฐ ๋ค ์ ์งํด์ผ ํ๋ ์์ ์ด ์ค๋๋ฐ, ์ด๊ฑธ ๊ด๋ฆฌํ๊ธฐ๊ฐ ๊ท์ฐฎ๋ค.
ํจํค์ง๋ฅผ ์ง์ธ ๋ ์ด๋ป๊ฒ ํด์ผํ๋์ง ๋๊ฐํ๋ค.
e.g., ์ฒ์์ tldr ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ค๊ฐ ์ง์ฐ๊ณ ์ ํ๋ค. ๊ทธ๋ฌ๋ฉด ์ง์ฐ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ ๋ฃ์ด์ผ ํ๋๊ฐ?
๊ณต๋ค์ฌ์ ์์ฑํ์ง ์์ผ๋ฉด ์ฌ๋ฌ ์ํคํ ์ฒ/์ด์์ฒด์ (32/64๋นํธ, Windows/macOS/Linux/...)์์ ์๋ํ์ง ์๋๋ค.
์ฒ์์ ๊ทธ๋ฅ ์ฐธ๊ณ ์ฐ๊ฒ ๋ค๋ ๋ง์ธ๋์๋๋ฐ, ์ ์ ์ด๋ฐ ์ ์ฐ์ฑ๊ณผ ์ ์ง๊ฐ๋ฅ์ฑ์ด ๋จ์ด์ง๋ ์์คํ ์์ ์์ ํ๊ณ ์๋ค๋ ์ฌ์ค์ ๊ฒฌ๋๊ธฐ๊ฐ ์ด๋ ค์์ก๋ค.
๊ทธ๋ ๊ฒ ๊ฒ์์ ์กฐ๊ธ ํ๋ฉด์ ์ฐพ์๋ณด๋ ๋์จ ๊ฒ์ด Nix์๋ค.
(๊ณ์)
Last updated