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

Nixでつくるdotfiles

 Nixでつくるdotfiles

Nixの簡単な紹介とhome-managerによりdotfilesをNixを使って管理する方法について

Mutsuha Asada

August 22, 2024
Tweet

More Decks by Mutsuha Asada

Other Decks in Programming

Transcript

  1. 14 ・Nixがインストールできない / したくない環境で利用できないのでは?  → (私が認識している限りでは)そう 🥲  ・事前にNixに依存しないdotfilesをビルドできたら面白そう ・容量が足りなくなる  →

    ストレージを買いましょう ・ネットワーク回線の影響でビルドが遅い  → わかる ・エラーに情報量が少なくて踏み込んだ瞬間辛くなる  → わかる ・適切にソフトウェアのビルドスクリプトを書くのが難しいです  → ビルドはもともと難しい Q&A
  2. 16 まとめ ・Nixという再現可能なビルドを提供するビルドシステム(/ パッケージマネージャ / 言語 / OS)がある ・Nixを使うとローカル環境に依存せず、同一バイナリを生成する保証がつく ・Nixを使ってOSやソフトウェアの設定を書いて管理できる、home-managerがある

    ・nixpkgsというNixOS公式によって維持されているパッケージ群がある  ・このパッケージ群は数あるリポジトリの中でも(stable/unstableどちらも)最大 ・home-managerを使えばneovimやzsh、tmuxなどの普段使いするツールの設定を全く同 じ記法を利用して書けて、かつ全く同じ挙動を維持できる ・ (NixOS以外でもhome-managerを使えば)設定や環境をロールバックできて便利 ・Nixを利用できない環境では環境を再現できないデメリットもある  ・容量をたくさん消費しがち(定期的にgcを走らせればさほど問題ない)  ・通信環境が悪い場所ではビルドに時間がかかる(辛い)  ・Nixが出すエラーは情報量が少なくて辛いこともある  ・そもそもビルドは辛い