NixOS
https://gyazo.com/84db5625e354c3727f6bcd60096a155e
nixpkg
formatter
純粹函數的 package manager "Nix" と純粹函數的構成管理を使ふ Linux
本論文は、コンピュータプログラムをある計算機システムから別のシステムへ移行させ、移行先でも正常に動作させる方法について論じる。これはソフトウェア展開 (deployment) と呼ばれる問題領域である。ソフトウェア構成管理 (Software Configuration Management: SCM) の一分野でありながら、このテーマが學術的に本格的に硏究されるやうになったのはごく最近のことである。展開プロセスを支援するための原則やツールの開發は、これまで主に產業界やシステム管理者、Unix 系システムの熟練者 (ハッカー) の領域とされてきた。その結果、多くの場合その場しのぎのツールが亂立する狀況となり、これらは通常、手作業のプロセスを自動化するものではあるものの、根本的な問題を體系的かつ規律ある方法で解決するものではない。
このことは、依存關係の缺落によるアプリケーションの動作不良から、互換性のないコンポーネントに起因する微妙な不具合に至るまで、展開失敗に關するメーリングリストやフォーラムへの投稿が膨大に存在する事實からも明らかである。また、展開問題は自動化に対して驚くほど耐性があるように見受けられる。同じ具體的な問題が繰り返し發生し續けるのである。特に、Unix ベースのオープンソースソフトウェアのような高度にコンポーネント化されたシステムでは、依存關係の處理に伴ふ作業量が追加される依存關係ごとに超線形的に增加するため、展開作業が極めて困難となる。
本論文では、既存の展開システムが抱へる多くの問題を解決するソフトウェア展開システム「Nix」を提案する。本序章では、ソフトウェア展開の問題領域について槪說し、既存のシステムとその限界がこの硏究を動機附けた經緯を說明した上で、本論文の主要な貢獻點を要約し、本論文の構成槪要を示す。
Devbox
Home Manager
macOS には LnL7/nix-darwin 經由で入れるかな
macOS
LnL7/nix-darwin
Nix modules for darwin, /etc/nixos/configuration.nix for macOS.
WSL2
類似
DockerDocker.icon は build した環境を可搬にする。NixOSNixOS.icon は build を再現する 組み合はせると、可搬な環境を再現できる
Bazel