343 Views
June 12, 25
スライド概要
Nix Meetup #3 にて登壇
キュレェ Kyure_A Interests レスバトル 設定ファイルの盆栽 VRChat Accounts Twitter: @kyremoe GitHub: @Kyure_A Web: https://kyre.moe
Twist.nix とは の設定を Nix で管理する手段のひとつ Nix で書かれた melpa/package-build melpa の recipe 形式を解釈してパッケー ジを取ってきてくれる Nix の恩恵: パッケージのバージョンをコミット単位で 固定できる パッケージがビルドされていることが保証 されているので、起動時チェックが不要に Emacs
ディレクトリ構成 プロジェクトの切り方 既存の .emacs.d をそのまま Twist.nix の設定に migrate することができる home-manager の設定には組み込まないのが作 者の思想っぽい? 作者やメンテナは Nix の config と Emacs の config を独立して運用している 個々に管理することで 保守性↑
ディレクトリ構成 recipes/ パッケージのレシピが入る の記法で書ける 既存の記法で書けるので割と流用が簡単: Emacs Lisp MELPA (twist :fetcher github :repo "emacs-twist/twist.el")
ディレクトリ構成 lock/ のパッケージを管理するロックファイルが入る アーカイブのロックファイルが入る ほぼ書かれてない flake.lock Git リポジトリのロックファイルが入る MELPA 経由だとだいたいここに書かれがち flake.nix 上に同じ Emacs archive.lock ELPA
flake.nix の構成 profile exportManifest マニフェストをエクスポートするか否か これを使うと Emacs 側で site-start.el の定数とし てマニフェストを読むことができる extraPackages init.el で明示的に示していないやつを入れる Under Emacs 29 だと use-package を書きます (extra)InputOverrides 個別のパッケージの属性を override する際に使う
flake.nix の構成 makeEnv で定義した値を して渡せばいいです は の本質ではなくて、 のみが本質 でも作者もメンテナもみんな切ってるから registries recipe/ にないパッケージはここから取ってくる melpa とかを書いておけばいいです profile inherit profile Twist.nix makeEnv
init.el / init.org の構成 use-package は init.el の use-package の式を解釈して くれる すごい) Twist.nix ( use-package-ensure-function t Twist の場合はチェックしない によってパッケージの存在は保証されてい るのでチェックしなくていいので、常に t を返すよ うな関数を設定するといい
init.el / init.org の構成 Twist.el で示したマニフェストファイルはこいつが読ん でくれる Twist.el を常駐させておくことで Twist で書かれた Emacs 設定が変更された際に、nixos-rebuild するこ となくホットリロードすることができる profile
Twist.nix の情報 作者が書いた Qiita の記事を読む https://qiita.com/akirak 全く Twist.nix での設定をどうすればいいのかについ ては書かれていません 読み物として面白いです 作者の思想を受け入れた上で、Twist.nix を使う決 断をしましょう
Twist.nix の情報 俺が書いた Zenn の記事を読む https://zenn.dev/kyre/articles/b1959567edfc15 世界初の解説記事とされている このスライドは、この記事を slice しただけのものです ドキュメント整理もされていないので、コードを読む しかこれより詳しい情報を得ることができません......
Twist.nix の情報 俺が書いた Zenn の記事を読む https://zenn.dev/kyre/articles/b1959567edfc15 世界初の解説記事とされている このスライドは、この記事を slice しただけのものです ドキュメント整理もされていないので、コードを読む しかこれより詳しい情報を得ることができません...... コードを読むことでしか......
Twist.nix の情報 DeepWiki https://deepwiki.com/emacs-twist/twist.nix さっきの記事を書き終えたくらいに流行り始めた GitHub にリポジトリがあるので、当然これが使える コードを必死になって読むまでもなかった 俺が解説するまでもない......
結論 人間は AI に代替される