NixOS
https://gyazo.com/84db5625e354c3727f6bcd60096a155e
NixOS - NixOS Linux
NixOS Wiki
NixOS - Wikipedia
Introduction - Nix Reference Manual
nixpkg
NixOS/nixpkgs: Nix Packages collection
Nix package manager - Wikipedia
formatter
nix-community/nixpkgs-fmt: Nix code formatter for nixpkgs maintainer=@zimbatm
EmacsEmacs.icon
nix-mode - MELPA
nixpkgs-fmt - MELPA
純粹函數的 package manager "Nix" と純粹函數的構成管理を使ふ Linux
Eelco Dolstra "The Purely Functional Software Development Model" 1978
本論文は、コンピュータプログラムをある計算機システムから別のシステムへ移行させ、移行先でも正常に動作させる方法について論じる。これはソフトウェア展開 (deployment) と呼ばれる問題領域である。ソフトウェア構成管理 (Software Configuration Management: SCM) の一分野でありながら、このテーマが學術的に本格的に硏究されるやうになったのはごく最近のことである。展開プロセスを支援するための原則やツールの開發は、これまで主に產業界やシステム管理者、Unix 系システムの熟練者 (ハッカー) の領域とされてきた。その結果、多くの場合その場しのぎのツールが亂立する狀況となり、これらは通常、手作業のプロセスを自動化するものではあるものの、根本的な問題を體系的かつ規律ある方法で解決するものではない。
このことは、依存關係の缺落によるアプリケーションの動作不良から、互換性のないコンポーネントに起因する微妙な不具合に至るまで、展開失敗に關するメーリングリストやフォーラムへの投稿が膨大に存在する事實からも明らかである。また、展開問題は自動化に対して驚くほど耐性があるように見受けられる。同じ具體的な問題が繰り返し發生し續けるのである。特に、Unix ベースのオープンソースソフトウェアのような高度にコンポーネント化されたシステムでは、依存關係の處理に伴ふ作業量が追加される依存關係ごとに超線形的に增加するため、展開作業が極めて困難となる。
本論文では、既存の展開システムが抱へる多くの問題を解決するソフトウェア展開システム「Nix」を提案する。本序章では、ソフトウェア展開の問題領域について槪說し、既存のシステムとその限界がこの硏究を動機附けた經緯を說明した上で、本論文の主要な貢獻點を要約し、本論文の構成槪要を示す。
Devbox
Devbox: Portable, Isolated Dev Environments
Home Manager
Home Manager Manual
nix-community/home-manager: Manage a user environment using Nix[maintainer=@rycee]
macOS には LnL7/nix-darwin 經由で入れるかな
Home Manager Manual#nix-darwin module
macOS
Download | Nix & NixOS#Multi-user installation Updating to macOS 15 Sequoia If you rec
$ sh <(curl -L https://nixos.org/nix/install)
$ nix-channel --add https://nixos.org/channels/nixpkgs-21.11-darwin
LnL7/nix-darwin
LnL7/nix-darwin: nix modules for darwin
Nix modules for darwin, /etc/nixos/configuration.nix for macOS.
Nixパッケージマネージャーの使い方 - Qiita
Mac OS XでNixパッケージマネージャを使う - Plan 9とGo言語のブログ
WSL2
Download | Nix & NixOS#Multi-user installation (Requires WSL with systemd enabled) WSL
$ sh <(curl -L https://nixos.org/nix/install) --no-daemon
WSL にインストール - ArchWiki
類似
GNU GuixGNU Guix.icon
DockerDocker.icon
DockerDocker.icon は build した環境を可搬にする。NixOSNixOS.icon は build を再現する
組み合はせると、可搬な環境を再現できる
nixos/nix - Docker Image
nixpkgs/nix - Docker Image ?
Bazel
Bazel - a fast, scalable, multi-language and extensible build system" - Bazel
Bazel (software) - Wikipedia