Upgrade to Pro — share decks privately, control downloads, hide ads and more …

賢いとは言えない私がどうやってNix に入門したのか

Avatar for Xantibody Xantibody
May 24, 2025
120

賢いとは言えない私がどうやってNix に入門したのか

Avatar for Xantibody

Xantibody

May 24, 2025
Tweet

Transcript

  1. アジェンダ 1. 自己紹介 2. なぜ Nix を学びだしたのか 3. どのように学習しているのか 4.

    具体的に何に苦労したのか 5. やりたいこと、やってること 6. まとめ 2
  2. • 職場の同僚が運悪く Nix を使っていて布教された ‣ サイコロ振って Emacs か Vim を使うか決める変態

    • Vim コミュニティの一定の賢そうな人たちが盛り上がっていた • 丁度自分のノート PC を買って Linux を入れたかった ‣ はじめは Manjaro だったがなんか気にくわなかった ‣ NixOS に手を出したくなってしまった(好奇心) 6
  3. 逃げ場をなくす • ThinkPad で Windows を消して強制してみる • 一番使う Neovim の

    language server から消して運用してみる • どうしてもやりたい作業はデスクトップのパソコンで作業してました 21
  4. エコシステムの多さ 解決策 • とりあえず Flakes わからなかったので最小構成を一回作ってみた ‣ こまもかさんの Zenn の記事を参考に

    ‣ Link: 1 ファイルから始める Nix Flakes • それっぽい構成がわかった! ‣ inputs と outputs とか必要なことすら理解していなかった ‣ それでも正直よくわからんところいっぱいある 作成した Repo minimum-nix-conf 36
  5. Nix language 解決策 • 途中からからこの言語で宣言管理しているイメージが湧いてきた ‣ 業務で Kubernetes や Terraform

    を触ったおかげ ‣ 普通のプログラミングの書き方に何故か囚われていた • takeokunn/nixos-configuration を写経させてもらった ‣ link: nixos-configuration ‣ 正直良くわからんところまだいっぱいある 40
  6. NixOS 内で開発できる環境がなんとか完成 • 始めは不便極まりなかった • language Server が Neovim 起動時だけ

    PATH 通るのすげー 会社の Mac へ分割した Home-manager を入れる • せっかく分割したし、同じ環境を作りたい • Linux 用の設定があってそれをどうやってはぶくのか考え中… Nixpkgs コントリビュートチャレンジ • 欲しいフォントがなくてやってみるかと • 今日に間に合ったらよかったが実力不足 46
  7. なんだかんだ楽しく取り組めた • 普段ビルドとかグローバルの汚染とか恥ずかしながら考えなかった • Nix を使っている人がなにに狂気してるかとか感じとれた 次はこれやってみようがだいたいできる • なんでもあって意外と難易度調整もできるなと感じた ‣

    ぶっちゃけ devbox からでよくね?ともなっている わからないことをわからないまま進める胆力 • 本当になにもわからなさすぎて 31 にしてボコボコにされた • ここまで難しいならコピペでも一旦すすめてしまえ • もっと必要になった時に詳細の理解から逃げなければ良いと思った 48