NixCon 2025 Trip Report ๐Ÿ

Michael Stapelberg

NixCon 2025 ์ฐธ๊ด€๊ธฐ ๐Ÿ

์˜ฌํ•ด ์ดˆ์— ์—ด๋ฆฐ NixOS ๋ฐ‹์—…์ด ์ •๋ง ์ข‹์•˜๋Š”๋ฐ, ๋ฐ‹์—… ๋งˆ์ง€๋ง‰์— ์˜ฌํ•ด NixCon 2025๊ฐ€ ์Šค์œ„์Šค์—์„œ, ๊ทธ๊ฒƒ๋„ ๋ฐ”๋กœ ๊ฐ™์€ ์žฅ์†Œ์ธ ๋ผํผ์Šค๋นŒ์˜ ๋™๋ถ€ ์Šค์œ„์Šค ์‘์šฉ๊ณผํ•™๋Œ€ํ•™ OST์—์„œ ์—ด๋ฆฐ๋‹ค๋Š” ์†Œ์‹์„ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐ€๋ณด๊ธฐ๋กœ ํ–ˆ์ฃ ! ์ด๋ฒˆ ์ฐธ๊ด€๊ธฐ์—์„œ๋Š” ์ด ๋ฉ‹์ง„ ์ปจํผ๋Ÿฐ์Šค๋ฅผ ์ œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ฒฝํ—˜ํ–ˆ๋Š”์ง€ ๋Œ€๋žต์ ์œผ๋กœ ์ „ํ•ด๋“œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค :)

์ œ๋ชฉ์— ์žˆ๋Š” ๋ฒŒ์€ NixCon ๋‚ด๋ถ€ ๋†๋‹ด์ž…๋‹ˆ๋‹ค ;)

๊ธˆ์š”์ผ

๋น„ ์˜ค๋Š” ๊ธˆ์š”์ผ ์•„์นจ 9์‹œ 30๋ถ„์ฏค ๋„์ฐฉํ•ด์„œ, ๊ธฐ์ฐจ์—ญ์—์„œ OST 1๋™๊นŒ์ง€ ์„œ๋‘˜๋Ÿฌ ๋“ค์–ด๊ฐ€ ํ‹ฐ์ผ“ QR ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์ปจํผ๋Ÿฐ์Šค ๋ฐฐ์ง€์™€ ๋ฏธ๋ฆฌ ์ฃผ๋ฌธํ•ด ๋‘” ์ปค์Šคํ…€ ๋ช…์ฐฐ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ปค์Šคํ…€ ๋ช…์ฐฐ์€ ์ด๋ฆ„์ด ๊ฐ์ธ๋˜์–ด ์žˆ๊ณ  ์˜ท์— ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์ž์„์ด ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค:

์ผ๋ฐ˜ ๋ช…์ฐฐ๊ณผ ์ปค์Šคํ…€ ๋ช…์ฐฐ

๊ฐ„๋‹จํžˆ ์š”๊ธฐ๋ฅผ ํ•œ ๋’ค ๊ฐœํšŒ ์„ธ์…˜์„ ์œ„ํ•ด ๋Œ€๊ฐ•๋‹น์œผ๋กœ ํ–ฅํ–ˆ์Šต๋‹ˆ๋‹ค. OST์˜ Farhad Mehta ๊ต์ˆ˜๋‹˜๊ณผ NixCon ์šด์˜ํŒ€ ์ „์ฒด๊ฐ€ ๋“ฑ๋กํ•œ 450๋ช…์˜ ์ฐธ๊ฐ€์ž๋ฅผ ์ œ10ํšŒ NixCon์— ๋งž์ดํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค! Nix ๋ฐ‹์—…์—์„œ ๋ดค๋˜ ์ต์ˆ™ํ•œ ์–ผ๊ตด๋“ค์ด ๋งŽ์ด ๋ณด์˜€์ง€๋งŒ, NixCon์ด ์ฒ˜์Œ์ธ ์‚ฌ๋žŒ, ํ˜น์€ ์Šค์œ„์Šค ์ž์ฒด๊ฐ€ ์ฒ˜์Œ์ธ ์‚ฌ๋žŒ์ด ์†์„ ๋“ค์–ด๋ณด๋ผ๋Š” ์งˆ๋ฌธ์—๋Š” ๋งŽ์€ ์†์ด ์˜ฌ๋ผ์™”์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ ์ด๋Ÿฐ ๋ฐ‹์—…๊ณผ ํ–‰์‚ฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด ์ฃผ์‹  Mehta ๊ต์ˆ˜๋‹˜๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๐Ÿ‘

๋Œ€ํ•™์ด๋‚˜ ํ•™๊ต, ํ˜น์€ ๊ฐ•์˜์‹ค์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๊ธฐ๊ด€์—์„œ ์ผํ•˜๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด ๋ฐ‹์—… ๊ฐœ์ตœ๋ฅผ ์ œ์•ˆํ•ด ๋ณด์‹œ๋Š” ๊ฑด ์–ด๋–จ๊นŒ์š”(์ •๊ธฐ์ ์œผ๋กœ๋“ , ๋‹จ ํ•œ ๋ฒˆ์ด๋“ )! ์žฅ์†Œ๋ฅผ ๊ตฌํ•˜๋Š” ์ผ์ด ์–ธ์ œ๋‚˜ ๊ฐ€์žฅ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—, ๊ณต๊ฐ„์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์˜คํ”ˆ์†Œ์Šค์— ํฐ ๊ธฐ์—ฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

โ€œ๋งŒ์•ฝ GitHub Actions๊ฐ€ ๋กœ์ปฌ ์šฐ์„ ์ด๊ณ  Nix๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค๋ฉด?โ€

๊ทธ๋‚ ์˜ ์ฒซ ๋ฒˆ์งธ ๊ธฐ์ˆ  ๋ฐœํ‘œ๋Š” cachix.org(ํ˜ธ์ŠคํŒ… Nix ์บ์‹œ)์˜ ์šด์˜์ž์ธ Domen Koลพar์˜ โ€œ๋งŒ์•ฝ GitHub Actions๊ฐ€ ๋กœ์ปฌ ์šฐ์„ ์ด๊ณ  Nix๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค๋ฉด?โ€์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐœํ‘œ์—์„œ๋Š” devenv๋ฅผ ํ™œ์šฉํ•œ Nix ๊ธฐ๋ฐ˜ CI ์†”๋ฃจ์…˜(GitHub Actions์™€ ์œ ์‚ฌ)์ธ cloud.devenv.sh๋ฅผ ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด GitHub Actions๋ฅผ ๋กœ์ปฌ์—์„œ ์‰ฝ๊ณ  ์™„์ „ํ•˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋ฌธ์ œ(๋„ค, ์šฐ๋ฆฌ ๋ชจ๋‘ act๋ฅผ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค)๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ , YAML ์„ค์ • ๋Œ€์‹  Nix ์„ค์ •์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค(?).

์†”๋ฃจ์…˜ ์ž์ฒด๋Š” ๊ดœ์ฐฎ์•„ ๋ณด์˜€์ง€๋งŒ, ๋ฐœํ‘œ์ž๊ฐ€ ์Šฌ๋ผ์ด๋“œ๋ฅผ ์ด๋ฆฌ์ €๋ฆฌ ๋„˜๋‚˜๋“ค์–ด ๋ฐœํ‘œ๊ฐ€ ๋‹ค์†Œ ์‚ฐ๋งŒํ•˜๊ฒŒ ๋А๊ปด์กŒ์Šต๋‹ˆ๋‹ค. ๊ฒฐ์ •์ ์ธ ์งˆ๋ฌธ ํ•˜๋‚˜๋Š” ๋‹ต์ด ๋‚˜์˜ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ์ปค์Šคํ…€ ์†”๋ฃจ์…˜์„ ๊ธฐ์กด GitHub ํ”„๋กœ์ ํŠธ์™€ ์–ด๋–ป๊ฒŒ ํ†ตํ•ฉํ•˜๋А๋ƒ๋Š” ๊ฒƒ์ด์ฃ . ์ œ ํ”„๋กœ์ ํŠธ์—๋Š” GitHub Actions์˜ ๊ธฐ๋ณธ ์„ค์ • ๋ฐฉ์‹์—์„œ ๋ฒ—์–ด๋‚˜๋Š” ๊ฒƒ์ด ๊ทธ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ์–ด ๋ณด์ด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์‚ฌ๋žŒ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (46๋ถ„) - media.ccc.de

โ€œHydra Queue Runner๋ฅผ Rust๋กœ ๋‹ค์‹œ ์“ฐ๊ธฐโ€

๋‹ค์Œ์€ ๋…์ผ์˜ ์†Œ๊ทœ๋ชจ ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ์ธ Helsinki Systems์˜ Simon Hauser๊ฐ€ ๋ฐœํ‘œํ•œ โ€œHydra Queue Runner๋ฅผ Rust๋กœ ๋‹ค์‹œ ์“ฐ๊ธฐโ€์˜€์Šต๋‹ˆ๋‹ค. Hydra๋Š” NixOS ์ธํ”„๋ผ์—์„œ ๋นŒ๋“œ๋ฅผ ์Šค์ผ€์ค„๋งํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค. nixpkgs๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ cache.nixos.org์— ์˜ฌ๋ฆฌ๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ๋ฐ๋น„์•ˆ์œผ๋กœ ์น˜๋ฉด buildd์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

Simon์€ ํ˜„์žฌ ํ ๋Ÿฌ๋„ˆ์˜ ๋ณ‘๋ชฉ ๋•Œ๋ฌธ์— ์ธํ”„๋ผ๊ฐ€ ์œ ํœด ์ƒํƒœ์— ๋น ์ง„๋‹ค๊ณ  ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ์“ธ ์ˆ˜ ์žˆ๋Š” ๋จธ์‹ ์ด ์žˆ์ง€๋งŒ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์ด์ฃ . ๊ทธ๋Š” ํ—ˆ์ˆ ํ•œ SSH ๊ธฐ๋ฐ˜ ์ž๋™ํ™”๋ฅผ ์ž˜ ์„ค๊ณ„๋œ gRPC ํ”„๋กœํ† ์ฝœ๋กœ ์–ด๋–ป๊ฒŒ ๊ต์ฒดํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค๊ณ„๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ•จ๊ป˜ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฆฌ๋ทฐํ•œ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜๋Š”๋ฐ, ๊ฑด๊ฐ•ํ•œ ํ”„๋กœ์ ํŠธ์˜ ์ข‹์€ ์ง•ํ‘œ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์•„์‰ฝ๊ฒŒ๋„ ๋ฐœํ‘œ์—์„œ ๋น ์ ธ ์žˆ๋˜ ๊ฒƒ์ด ์žˆ๋‹ค๋ฉด ์ง€ํ‘œ์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ž‘์„ฑ๋œ ํ ๋Ÿฌ๋„ˆ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋” ๋‚˜์•„์กŒ๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ž˜ํ”„ ๋ช‡ ๊ฐœ๊ฐ€ ์žˆ์—ˆ๋‹ค๋ฉด ์ข‹์•˜์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์ƒˆ๋กœ์šด ํ ๋Ÿฌ๋„ˆ๋Š” ์ด๋ฏธ Nix Community ๋นŒ๋“œ์—๋Š” ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์ง€๋งŒ, ์•„์ง NixOS ์ž์ฒด ํ”„๋กœ๋•์…˜์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ณง ์ ์šฉ๋˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค!

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (27๋ถ„) - media.ccc.de

โ€œdevshell์—์„œ hell์„ ๋นผ๋ฉด ์ฒ ์ž๊ฐ€ ์•ˆ ๋งž์ฃ โ€

์ด ๋ฐœํ‘œ๋Š” Nix ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์†”๋ฃจ์…˜์ธ Flox์˜ Zach Mitchell์ด ๋งก์•˜์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ง€๊ธˆ๊นŒ์ง€ nix-shell์ด๋‚˜ nix develop์„ ์‚ฌ์šฉํ•ด ์™”๊ธฐ ๋•Œ๋ฌธ์—(Development shells with Nix: four quick examples ์ฐธ๊ณ ), ์ด๋ฒˆ ๋ฐœํ‘œ์—์„œ ๋ฌด์—‡์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์„์ง€ ๊ถ๊ธˆํ–ˆ์Šต๋‹ˆ๋‹ค.

Zach๋Š” nix-shell๊ณผ nix develop ๋ชจ๋‘ ์›๋ž˜ ๋ฒ”์šฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Nix ํŒจํ‚ค์ง€ ๋นŒ๋“œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค๊ณ  ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ข‹์•„ํ•˜๋Š” ์…ธ์„ ์“ธ ์ˆ˜ ์—†๋‹ค๋Š” ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. nix develop์€ Bash๋งŒ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์–ด๋”˜๊ฐ€์—์„œ nix develop -c exec <shell> ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ๋ณด์…จ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ทธ๊ฑด ์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์…ธ์˜ RC ํŒŒ์ผ์ด Nix ์„ค์ • ์ดํ›„์— ์‹คํ–‰๋˜๋ฉด์„œ ์„ค์ • ์ผ๋ถ€๋ฅผ ๋ง๊ฐ€๋œจ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์žฌ๋ฏธ์žˆ๊ฒŒ ์•Œ๊ฒŒ ๋œ ์‚ฌ์‹ค ์ค‘ ํ•˜๋‚˜๋Š” Nix ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—ฌ์ „ํžˆ ํ•„์š”๋กœ ํ•˜๋Š” Nix ์Šคํ† ์–ด ๊ฒฝ๋กœ๋ฅผ ์‚ญ์ œํ•˜์ง€ ์•Š๋„๋ก /proc์„ ์Šค์บ”ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

Zach๋Š” https://github.com/zmitchell/proctrace๋ฅผ ์–ธ๊ธ‰ํ–ˆ๋Š”๋ฐ, ์ด๋Š” forks/execs๋ฅผ ์ถ”์ ํ•ด ํƒ€์ด๋ฐ์— ๋Œ€ํ•œ ๊ฐ„ํŠธ ์ฐจํŠธ ๋ฌธ๋ฒ•์„ ์ƒ์„ฑํ•˜๋Š” bpftrace ๊ธฐ๋ฐ˜ ํ”„๋กœํŒŒ์ผ๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋ฉ‹์ ธ ๋ณด์ด์ง€๋งŒ ์•„์‰ฝ๊ฒŒ๋„ ์ง€๊ธˆ์€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹คโ€ฆ? ์•„์‰ฝ๋„ค์š”.

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (45๋ถ„) - media.ccc.de

โ€œNix Binary Cache์™€ AWSโ€

์ด ๋…ธ๋ณ€ ๋‹ดํ™”์—์„œ Tarus Balog๋Š” 20๋…„๊ฐ„ ์˜คํ”ˆ์†Œ์Šค๋ฅผ ํ•˜๋‹ค๊ฐ€ ์–ด๋–ป๊ฒŒ AWS์— ํ•ฉ๋ฅ˜ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ์˜ ํŒ€์ด ์–ด๋–ป๊ฒŒ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋ณด๋‹ตํ•˜๊ณ ์ž ํ•˜๋Š”์ง€๋ฅผ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ cache.nixos.org๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (24๋ถ„) - media.ccc.de

โ€œShopify์˜ Nix ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (์žฌ์—ฐ)โ€

Shopify์˜ Josh Heinrichs๊ฐ€ ์–ด๋–ป๊ฒŒ Nix๋ฅผ ๋„์ž…ํ–ˆ๋Š”์ง€(๋‹ค์‹œ!) ๊ณต์œ ํ–ˆ๋Š”๋ฐ, ์ด๋Ÿฐ ์‹ค์ œ ๊ธฐ์—… ๋„์ž… ์‚ฌ๋ก€๋Š” ์ •๋ง ํฅ๋ฏธ๋กญ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด, Shopify๋Š” 2016๋…„๋ถ€ํ„ฐ ์„ ์–ธ์  ์„ค์ •์„ ์ œ๊ณตํ•˜๊ณ  Linux์—์„œ๋Š” apt, macOS์—์„œ๋Š” homebrew๋กœ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌํ•˜๋Š” dev ๋ช…๋ น์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Nix๋กœ ์ด์ „ํ•˜๋ ค๋Š” ์ฒซ ์‹œ๋„์—์„œ๋Š” ์•ˆ์ •์ ์ธ ๊ธฐ๋ฐ˜์„ ๋‹ค์ง€์ง€ ๋ชปํ–ˆ๊ณ (์ผ๋ถ€ ์ธ์›์€ ์•„์ง ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค), ์ดํ›„ ํšŒ์‚ฌ ์ „์ฒด๊ฐ€ ํด๋ผ์šฐ๋“œ ๊ฐœ๋ฐœ๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ ๋” ์‰ฌ์šด ํ•ด๊ฒฐ์ฑ…์ธ โ€œ๊ทธ๋ƒฅ ubuntu๋ฅผ ์“ฐ์žโ€๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ช‡ ๋…„์ด ์ง€๋‚˜์ž ํด๋ผ์šฐ๋“œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋ถˆ๋งŒ์ด ์ปค์กŒ๊ณ , ์–ด๋А ๋‚  Shopify CEO์ธ Tobias Lรผtke๊ฐ€ Shopify์˜ dev์™€ ๋†€๋ž๋„๋ก ์œ ์‚ฌํ•œ Nix ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์ธ devenv๋ฅผ ๋ฐœ๊ฒฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Tobi๋Š” ์ž์‚ฌ ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์— devenv๋ฅผ ๋„์ž…ํ•˜๊ณ  Nix ์‚ฌ์šฉ์„ ์ง€์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์กฐ์ง ๋‚ด ์„ฑ๊ณต์ ์ธ ํ™•์‚ฐ์— ํ›จ์”ฌ ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ๋“ค์˜€๊ณ , ์ ์ง„์  ๋„์ž…๊ณผ ๋ชจ๋“  ์ดํ•ด๊ด€๊ณ„์ž์˜ ์ฐธ์—ฌ๋ฅผ ์ด๋Œ์–ด๋‚ด๋Š” ๋ฐฉ์‹ ๋“ฑ์œผ๋กœ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ตํ›ˆ์€ ์ž˜ ์ง€์›๋˜๋Š” ํ•˜๋‚˜์˜ ๊ตฌ์ฒด์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ๋„์ž…์˜ ๋™๋ ฅ์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ Nix ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์œผ๋กœ ์˜ฎ๊ฒจ ๋†“์œผ๋ฉด ์ƒํƒœ๊ณ„์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„๋“ค๋„ ๋” ์‰ฝ๊ฒŒ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (19๋ถ„) - media.ccc.de

โ€œ๋‚˜์˜ ์ฒซ Nix ๊นจ๋‹ฌ์Œ!: ์‹ ๊ทœ ์‚ฌ์šฉ์ž์˜ ๊ด€์ โ€

Shopify ๋ฐœํ‘œ์™€ ๋น„์Šทํ•œ ๋งฅ๋ฝ์—์„œ, ASML์˜ Kavisha Kumar๋Š” ๋™๋ฃŒ๊ฐ€ nix-shell์„ ์ด์šฉํ•ด ๊น”๋”ํ•œ ๊ฐœ๋ฐœ ์…ธ์„ ์–ป๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์–ด๋–ป๊ฒŒ Nix์— ์ž…๋ฌธํ•˜๊ฒŒ ๋˜์—ˆ๋Š”์ง€๋ฅผ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค.

Kavisha๋Š” ASML์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์™œ, ์–ด๋–ป๊ฒŒ Nix๋ฅผ ์จ์•ผ ํ•˜๋Š”์ง€ ๊ฐ€๋ฅด์น˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋…€๋Š” ๋น„๋””์˜ค ๊ฒŒ์ž„์„ ์†Œ์žฌ๋กœ Nix ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๋Š” ๋ฉ‹์ง„ ๋น„์œ ๋“ค์„ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด Nix์— ์—ด๊ด‘ํ•˜๋ฉด์„œ๋„ ๊ทธ ์—ด์ •์„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Kavisha๋Š” ์ž์‹ ์—๊ฒŒ ํ†ตํ–ˆ๋˜ ์ข‹์€ ๋ฐฉ๋ฒ•์„ ์šฐ๋ฆฌ์—๊ฒŒ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (19๋ถ„) - media.ccc.de

๋ผ์ดํŠธ๋‹ ํ† ํฌ

ํ•˜๋ฃจ์˜ ๋‚˜๋จธ์ง€๋Š” ๋ผ์ดํŠธ๋‹ ํ† ํฌ๋กœ ์ฑ„์›Œ์กŒ์Šต๋‹ˆ๋‹ค.

Determinate Systems์˜ Cole Mickens๋Š” ์ž์‹ ๋“ค์˜ ๋‹ค์šด์ŠคํŠธ๋ฆผ ๋ฐฐํฌํŒ์ธ โ€œDeterminate Nixโ€์—์„œ ํ˜„์žฌ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ๋“ค(ํ–ฅํ›„ ์—…์ŠคํŠธ๋ฆผ์— ๋ฐ˜์˜๋  ์˜ˆ์ •)์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. Flakes ํ‰๊ฐ€๋ฅผ ์œ„ํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™”์ธ lazy trees, ํ‰๊ฐ€ ์‹œ๊ฐ„์„ 16์ดˆ์—์„œ 7์ดˆ๋กœ ๋‹จ์ถ•ํ•˜๋Š” ๋ณ‘๋ ฌ ํ‰๊ฐ€, ๊ทธ๋ฆฌ๊ณ  mac์„ ์œ„ํ•œ ๋„ค์ดํ‹ฐ๋ธŒ Linux ๋นŒ๋”์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ๋Š” ์•„์ง ์ œ๊ฐ€ ์ฝ์–ด๋ณด์ง€ ๋ชปํ•œ Flake Schemas๊ฐ€ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Nix ๋ฐ DevOps ์ปจ์„คํŒ… ํšŒ์‚ฌ์ธ Numtide์˜ Yvan Sraka๋Š” NixOS๋กœ ์นœ๊ตฌ์™€ ๊ฐ€์กฑ์˜ Linux ๋จธ์‹ ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” NixOS ์œ„์— ์ž์‹ ๋งŒ์˜ ์„ค์ • ๋ ˆ์ด์–ด๋ฅผ ๋‘๊ณ  ์‹œ์Šคํ…œ ์ž์ฒด๋Š” ๊ธฐ๋ฐ˜(base)์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์€ AppImage, Flatpak, envfs, nix-ld๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋’ค์˜ ๋‘ ๊ฐ€์ง€๋Š” /usr/bin ๋“ฑ ํ‘œ์ค€ ๊ฒฝ๋กœ๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” FHS ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์„ NixOS ๊ฐ™์€ non-FHS ์‹œ์Šคํ…œ์—์„œ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. nix-ld๋Š” ๋“ค์–ด๋ณธ ์ ์ด ์žˆ์ง€๋งŒ envfs๋Š” ์ฒ˜์Œ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

Nixcademy์˜ Jacek Galowicz๋Š” systemd-sysupdate์™€ systemd-repart๋ฅผ ์ด์šฉํ•ด NixOS์™€ systemd์—์„œ A/B ๋ฐฉ์‹ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ € ์—ญ์‹œ gokrazy์—์„œ A/B ๋ฐฉ์‹ ์—…๋ฐ์ดํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์„œ, ์ด ๊ธฐ๋ฒ•์ด ์ ์  ๋” ์ฃผ๋ฅ˜๊ฐ€ ๋˜์–ด๊ฐ€๋Š” ๊ฒƒ์„ ๋ณด๋‹ˆ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.

ํ† ์š”์ผ

ํ† ์š”์ผ ๋‚ ์”จ๋Š” ํ›จ์”ฌ ์ข‹์•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ทจ๋ฆฌํžˆ ํ˜ธ์ˆ˜๊ฐ€ ๋ณด์ด๋Š” ์ž๋ฆฌ๋ฅผ ๊ผญ ๋งก์•˜์Šต๋‹ˆ๋‹ค:

ํ˜ธ์ˆ˜ ์ „๋ง!

โ€œ์ž์ „๊ฑฐ ๋ณด๊ด€์†Œ๋Š” ์ •๋ฆฌ๋๋‹ค: ๊ณต์‹ Nix ํฌ๋งคํ„ฐโ€

์ด๋ฒˆ ๋ฐœํ‘œ์—์„œ๋Š” Tweag ์†Œ์†์ด์ž NixCon์˜ ์ฃผ์š” ์กฐ์ง์ž ์ค‘ ํ•œ ๋ช…์ธ Silvan Mosberger๊ฐ€ .nix ํŒŒ์ผ์„ ์œ„ํ•œ ๊ณต์‹ ํฌ๋งคํŒ… ๋„๊ตฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ํƒ„์ƒํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณต์‹ Go ํฌ๋งคํ„ฐ์ธ gofmt๊ฐ€ ์˜๊ฐ์˜ ์›์ฒœ์œผ๋กœ ์–ธ๊ธ‰๋œ ๊ฒƒ์„ ๋“ฃ๊ณ  ๋ฐ˜๊ฐ€์› ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์–ธ์–ด ์ƒํƒœ๊ณ„์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ํ†ต์ผ๋œ ํฌ๋งท์„ ๋„์ž…ํ•˜๋ฉด ์ฝ”๋“œ ์Šคํƒ€์ผ ์ค€์ˆ˜ ์—ฌ๋ถ€๋ฅผ ๋‘˜๋Ÿฌ์‹ผ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ์˜ ์‹œ๊ฐ„ ์†Œ๋ชจ์ ์ธ ๋…ผ์Ÿ์„ ์—†์•จ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์‰ฝ๊ฒŒ๋„ ํฌ๋งคํŒ… ํŒ€์€ gofmt ์„ฑ๊ณต์˜ ํ•ต์‹ฌ ์š”์†Œ ํ•˜๋‚˜๋ฅผ ๋”ฐ๋ผ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. gofmt์—๋Š” ์˜ต์…˜์ด ์—†๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์œ ๋ช…ํ•œ Go ๊ฒฉ์–ธ์— ๋”ฐ๋ฅด๋ฉด:

Gofmt์˜ ์Šคํƒ€์ผ์€ ๋ˆ„๊ตฌ๋„ ๊ฐ€์žฅ ์ข‹์•„ํ•˜์ง€ ์•Š์ง€๋งŒ, gofmt๋Š” ๋ชจ๋‘๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•œ๋‹ค!

์ฆ‰, ๋ชจ๋‘๊ฐ€ ๊ฐ์ž์˜ ์Šคํƒ€์ผ ์ทจํ–ฅ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋ชจ๋‘๊ฐ€ ๊ฐ™์€ ์Šคํƒ€์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (20๋ถ„) - media.ccc.de

โ€œNixOS ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋งˆ์Šคํ„ฐํ•˜๊ธฐ: ๋น ๋ฅด๊ณ  ๊ฒฌ๊ณ ํ•œ ๋‹ค์ค‘ VM ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๊ณ ๊ธ‰ ๊ธฐ๋ฒ•โ€

์ด 2์‹œ๊ฐ„์งœ๋ฆฌ ์›Œํฌ์ˆ์—์„œ Nixcademy์˜ Jacek Galowicz๋Š” Nix ๊ฐ•์‚ฌ์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ NixOS ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋“œ๋ผ์ด๋ฒ„์˜ ๋ฉ”์ธํ…Œ์ด๋„ˆ์ด๊ธฐ๋„ ํ•œ๋ฐ, ๋‹จ ๋ช‡ ์ค„์˜ Nix์™€ Python์œผ๋กœ ๋ณต์žกํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

Jacek์€ ํŠธ๋ž˜์ปค, ํด๋ผ์ด์–ธํŠธ, ๋ฐฉํ™”๋ฒฝ, ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ๋กœ ๊ตฌ์„ฑ๋œ BitTorrent ์„œ๋น„์Šค ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์˜ˆ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค! nixpkgs์—๋Š” ์ด๋Ÿฌํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ 1,000๊ฐœ ์ด์ƒ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋…ธํŠธ๋ถ์—์„œ ํ•˜๋‚˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ๋ฅผ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•๋„ ๊ฝค ๋ฉ‹์ ธ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ํฌํŠธ ํฌ์›Œ๋”ฉ ๋Œ€์‹  vsock์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ๋ฉˆ์ถฐ์„œ ๋””๋ฒ„๊น…์„ ๊ธฐ๋‹ค๋ฆฌ๋„๋ก ํ•˜๋Š” ๋””๋ฒ„๊ทธ ํ›…์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

ํ›Œ๋ฅญํ•œ ๊ฐœ์š”์˜€๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ, Jacek์€ ๋ชฐ์ž…๋„ ๋†’์€ ๊ฐ•์‚ฌ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ์˜ ์ˆ˜์—…์„ ๋“ค์–ด๋ณด์‹œ๊ธธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

โ€œ์–ธ์ œ Nix๋ฅผ ์“ฐ์ง€ ๋ง์•„์•ผ ํ• ๊นŒ: ์™ธ๋ถ€ ์„ค์ •๊ณผ SOPS Nix ํ™œ์šฉํ•˜๊ธฐโ€

Ryota๋Š” ์–ธ์ œ Nix๋ฅผ ์“ฐ๊ณ  ์–ธ์ œ ์“ฐ์ง€ ๋ง์•„์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด dotfile(์„ค์ • ํŒŒ์ผ)์„ Nix๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๊ทธ๋ ‡์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ์ ์  ๋” ๋งŽ์€ ๋จธ์‹ ๊ณผ ์„ค์ •์„ Nix๋กœ ์˜ฎ๊ฒจ์˜จ ์ €๋กœ์„œ๋Š” ์ด ๋ฐœํ‘œ์— ๊นŠ์ด ๊ณต๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ ์–ธ์ ์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ์„ค์ •๊ณผ ์ƒํƒœ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ์„ค์ •์—์„œ ๊ฐ๊ฐ ๋ฌด์—‡์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์–ธ์ œ ์–ด๋–ค ์ ‘๊ทผ์ด ๋” ๋‚˜์€์ง€๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

โ†’ ๋…นํ™” ์˜์ƒ ๋ณด๊ธฐ (19๋ถ„) - media.ccc.de

๋ผ์ดํŠธ๋‹ ํ† ํฌ

ํ•˜๋ฃจ์˜ ๋‚˜๋จธ์ง€๋Š” ๋ผ์ดํŠธ๋‹ ํ† ํฌ์—์„œ ๋ณด๋ƒˆ๋Š”๋ฐ, ๊ทธ์ค‘ ์ผ๋ถ€๋Š” ์Šคํฐ์„œ ๋ฐœํ‘œ ์Šฌ๋กฏ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆœ์„œ๋Š” ๋’ค์ฃฝ๋ฐ•์ฃฝ์ด์ง€๋งŒ, ์ œ๊ฐ€ ์•Œ๊ฒŒ ๋œ ๊ฒƒ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • Cloud Hypervisor, qemu์™€ ๊ฐ™์€ KVM ๊ธฐ๋ฐ˜ ํ•˜์ดํผ๋ฐ”์ด์ €์ด์ง€๋งŒ Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • nixbuild.net, ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๊ณ  ์ถ”๊ฐ€ ๋นŒ๋“œ ์šฉ๋Ÿ‰์„ ๋นŒ๋ฆด ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ผ์š”์ผ์— ์–ด๋–ค ๋ถ„์ด ์ž๊ธฐ ํšŒ์‚ฌ์—์„œ nixbuild.net์„ ์“ฐ๊ณ  ์žˆ๋Š”๋ฐ ๋งค์šฐ ๋งค๋„๋Ÿฝ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฑธ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • NixCI, Nix ๊ธฐ๋ฐ˜ ํ˜ธ์ŠคํŒ… CI์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ธˆ์š”์ผ์— ๋“ค์—ˆ๋˜ cloud.devenv.sh ์„œ๋น„์Šค๋Š” ์ด ์„œ๋น„์Šค์˜ ๊ฒฝ์Ÿ์ž์ž…๋‹ˆ๋‹ค.
  • Nix in the Wild๋Š” Flox๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋กœ, Nix ์„ฑ๊ณต ์‚ฌ๋ก€์— ๋Œ€ํ•ด 45~60๋ถ„๊ฐ„ ์ธํ„ฐ๋ทฐ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์กฐ์ง ๋‚ด ์‚ฌ๋žŒ๋“ค์„ ์„ค๋“ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • clan์€ fleet ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.
  • NovaCustom, 1์ธ ๊ธฐ์—… ๋…ธํŠธ๋ถ/PC ํšŒ์‚ฌ์ž…๋‹ˆ๋‹ค. ๋…ธํŠธ๋ถ์—๋Š” coreboot๊ฐ€ ํƒ‘์žฌ๋˜์–ด ์žˆ๊ณ  NixOS์™€ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ExpressVPN์ด ๋‚ด๋ถ€ ์„œ๋ฒ„ ์„ค์ •(TrustedServer)์„ Debian์—์„œ NixOS๋กœ ์ด์ „ ์ค‘์ž…๋‹ˆ๋‹ค! 105๊ฐœ๊ตญ ์ด์ƒ์—์„œ ๋งค์ฃผ ๋ฐฐํฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋…์ผ ํšŒ์‚ฌ์ธ Cyberus๋Š” EU ์‚ฌ์ด๋ฒ„ ๋ณต์›๋ ฅ๋ฒ•(Cyber Resilience Act) ์˜๋ฌด๋ฅผ ์ค€์ˆ˜ํ•˜๋Š” NixOS LTS ๋ฆด๋ฆฌ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • David์˜ styx ํ”„๋กœ์ ํŠธ๋Š” NixOS ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•œ ๋Œ€์—ญํญ ํšจ์œจ์ ์ธ ๋‹ค์šด๋กœ๋“œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. EROFS๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, SquashFS ์ด๋ฏธ์ง€์˜ ํฅ๋ฏธ๋กœ์šด ๋Œ€์•ˆ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฐœํ‘œ๊ฐ€ ๋๋‚œ ๋’ค์—๋Š” ๋ฐ–์—์„œ ๋‹จ์ฒด ์‚ฌ์ง„์„ ์ฐ๊ณ  ํ˜ธ์ˆซ๊ฐ€์—์„œ ๋ฐ”๋น„ํ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค:

NixCon 2025 ๋‹จ์ฒด ์‚ฌ์ง„

NixCon 2025, ์‚ฌ์ง„: Arik Grahl. CC BY-SA 4.0 ๋ผ์ด์„ ์Šค.

์ผ์š”์ผ

์ปจํผ๋Ÿฐ์Šค ์ „์—๋Š” ์ผ์š”์ผ(ํ•ต ๋ฐ์ด)์— ๊ตณ์ด ๊ฐˆ๊นŒ ๊ณ ๋ฏผํ–ˆ์ง€๋งŒ, ๋ง‰์ƒ ์ผ์š”์ผ์ด ๋˜๋‹ˆ โ€œ๋‹น์—ฐํžˆ ๊ฐ€์•ผ์ง€!โ€๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ , ์ •๋ง ์ž˜ํ•œ ๊ฒฐ์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค!

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋‚จ์•„ ๊ฐ์ž์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์—…ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค Nix ์งˆ๋ฌธ์ด๋“  ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€ ํ•˜๋‚˜๋ฉด ๋‹ต์„ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์ „๋ฌธ ์ง€์‹๊ณผ ๋„์›€์„ ์ฃผ๋Š” ์†๊ธธ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „์—๋Š” ์˜จ๋ผ์ธ์—์„œ๋งŒ ์•Œ๋˜ ๋ช‡๋ช‡ ๋ถ„๋“ค์„ ์ง์ ‘ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๊ณ , ๋ฐ‹์—…์— ๋Œ€ํ•ด์„œ๋„ ์ด์•ผ๊ธฐ๋ฅผ ๋งŽ์ด ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค. ๋•๋ถ„์— ์ด์ œ ์—ฌ๋Ÿฌ ๋ฐ‹์—…์—์„œ ๋ฐœํ‘œํ•ด ๋‹ฌ๋ผ๋Š” ์ดˆ์ฒญ๊นŒ์ง€ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค :D

๊ฒฐ๋ก 

์ •๋ง ๋ฉ‹์ง„ ์ปจํผ๋Ÿฐ์Šค์˜€์Šต๋‹ˆ๋‹ค! ์šด์˜ํŒ€๊ณผ ๋ชจ๋“  ๊ธฐ์—ฌ์ž๋“ค์ด ํ›Œ๋ฅญํ•œ ์ผ์„ ํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค!

์–ธ์ œ๋‚˜ ๊ทธ๋ ‡๋“ฏ ๋ผํผ์Šค๋นŒ์˜ OST๋Š” ์˜คํ”ˆ์†Œ์Šค ํ–‰์‚ฌ๋ฅผ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

ํ‹ฐ์ผ“ ํŒ๋งค์™€ ๋ฐœํ‘œ ์ ‘์ˆ˜/์ผ์ • ๊ด€๋ฆฌ๋Š” Pretix์™€ Pretalx ์˜คํ”ˆ์†Œ์Šค ์‹œ์Šคํ…œ์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋Š”๋ฐ, Pretix์— ๊ธฐ์—ฌํ•œ ์‚ฌ๋žŒ์œผ๋กœ์„œ ์ž๋ž‘์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

๋ฐœํ‘œ ์„ ์ •๋„ ํ›Œ๋ฅญํ–ˆ์Šต๋‹ˆ๋‹ค. ๊นŠ์ด ์žˆ๋Š” ๊ธฐ์ˆ  ๋ฐœํ‘œ๋„ ์žˆ์—ˆ๊ณ , ์ธ๊ฐ„์ ์ธ ์ธก๋ฉด์—๋งŒ ์ดˆ์ ์„ ๋‘” ๋ฐœํ‘œ๋„ ์žˆ์—ˆ์œผ๋ฉฐ, ๊ทธ ์ค‘๊ฐ„ ์–ด๋”˜๊ฐ€์— ์žˆ๋Š” ๋ฐœํ‘œ๋„ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋ณธ ๋ชจ๋“  ๋ฐœํ‘œ์ž๋“ค์ด ์ž์‹ ์˜ ์ฃผ์ œ์— ์ง„์ •์œผ๋กœ ์• ์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜๊ณ , ๊ทธ๋ž˜์„œ ์ „๋ฐ˜์ ์ธ ์—๋„ˆ์ง€๊ฐ€ ๋งค์šฐ ์ข‹์•˜์Šต๋‹ˆ๋‹ค!

(๋ฐœํ‘œ ๋…นํ™” ์˜์ƒ์€ media.ccc.de: NixCon 2025์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๋ฐœํ‘œ ์™ธ์—๋„ ๋งŽ์€ ๋ถ„๋“ค๊ณผ ์นœ๊ทผํ•˜๊ฒŒ ๊ต๋ฅ˜ํ•˜๊ณ  ํฅ๋ฏธ๋กœ์šด ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค. Nix์— ๋Œ€ํ•œ ๊ด€์‹ฌ๊ณผ ๋„์ž…์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด ์ •๋ง ๋ณด๊ธฐ ์ข‹์•˜์Šต๋‹ˆ๋‹ค!

์ž์›๋ด‰์‚ฌ๋กœ ์šด์˜๋˜๋Š” ํ–‰์‚ฌ์น˜๊ณ  ์ปจํผ๋Ÿฐ์Šค์˜ ์™„์„ฑ๋„๋Š” ๋งค์šฐ ๋†’์•˜์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐœํ‘œ ์‚ฌ์ด์— ๋‚˜์˜จ ๋ฉ‹์ง„ ๋ธŒ๋ ˆ์ดํฌ ์Œ์•…์€ NixCon์„ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ์ œ์ž‘๋œ tonstr.studio์˜ โ€œLavaโ€์˜€์Šต๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์›ฐ์ปด๋ฐฑ์—๋Š” NixCon์„ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ๋งŒ๋“  ๋‹คํฌ ์Šค์œ„์Šค ์ดˆ์ฝœ๋ฆฟ์ด ๋“ค์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(์•„๋ž˜ ์‚ฌ์ง„ ์ฐธ๊ณ ). ์ €๋Š” ์›๋ž˜ ๋‹คํฌ ์ดˆ์ฝœ๋ฆฟ์„ ์ข‹์•„ํ•˜์ง€๋„ ์•Š๋Š”๋ฐ, ์ด๊ฑด ์ •๋ง ๋ง›์žˆ์—ˆ์Šต๋‹ˆ๋‹ค!

๋ชจ๋“  ๋„์šฐ๋ฏธ๋ถ„๋“ค๊ป˜ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ, ๊ณง ๋‹ค์‹œ ๋Œ์•„์˜ค๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค!

NixCon 2025 ์Šค์œ„์Šค ์ดˆ์ฝœ๋ฆฟ

์›๋ฌธ์€ Michael Stapelberg๋‹˜์ด ์— ๊ฒŒ์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธ€์€ muse-spark-1.2-contributor ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ๋ฒˆ์—ญํ–ˆ์Šต๋‹ˆ๋‹ค.