Getting Nix onto legacy distributions can be difficult and the official installer is not always a viable option, especially when considering reproducibility and automation.
This approach is different from others in that we:
Package using distribution-native packaging formats
(deb/rpm). And use these packages to manage
systemd and environment integrations.
Create a /nix/store imperatively as a postinstall hook. This uses a prepopulated Nix store embedded inside the distribution-native packaging format.
Properly cleans up after uninstallation. We use package manager hooks to cleanly remove any traces of Nix post removal.
To achieve a reproducible setup for these distributions that doesn’t rely on pulling files from the internet at install-time.
These installer packages are intended to be used in a one-shot fashion to bootstrap the Nix installation, and then let Nix deal with managing itself from that point on.
Deb
aarch64: nix-multi-user-2.24.10.deb
(c84ea76f63d237d1d6a09dcfd19da8d00de2c4df64532101495b72419d870b7d)
x86_64: nix-multi-user-2.24.10.deb
(3ddf9f1c6c9a9a1c104d883a37802f07eaddb9a3066587683ba770869a4e8467)
Pacman
aarch64: nix-multi-user-2.24.10.pkg.tar.zst
(656c42861aae26ff8a446ec5bc4d5ec187ee97dde26e4c51698e05393b173adf)
x86_64: nix-multi-user-2.24.10.pkg.tar.zst
(2f35b3a2f362cd0fcb1f35c55b894df3c0c93203626dfb59c12ad98203fdc506)
Rpm
aarch64: nix-multi-user-2.24.10.rpm
(58ada4faffc51554f61d43480b6c67cd21555e465ad1f047ed8a475618f80fe2)
x86_64: nix-multi-user-2.24.10.rpm
(afc459b76736609043e97dd99ab301df97da235d6b141fc8429c50fe4684788c)
Deb
aarch64: lix-multi-user-2.91.1.deb
(931a15a13f7c949144a7b8752350981b5bf1e6eda961b4c261d0fa452e8e734d)
x86_64: lix-multi-user-2.91.1.deb
(a799a491edc71cf910a549559d89de04a87d1bad5d09e11a3fbace8ec855f866)
Pacman
aarch64: lix-multi-user-2.91.1.pkg.tar.zst
(5371a4baa8d6ccfe75824a892e1ae77478ca3ec294279413b51f7cde2a180008)
x86_64: lix-multi-user-2.91.1.pkg.tar.zst
(bc7d1bc9f6f4c35dfe66381f02835bc1877282461dafbdde142e3b3aa2942f81)
Rpm
aarch64: lix-multi-user-2.91.1.rpm
(66f51bc7be37afa0109fe735c6520307e4a64a348f078218bfc5f850bfbb14c4)
x86_64: lix-multi-user-2.91.1.rpm
(d379793f550eb5b0737f1d9e5188aadd0f2f48bcab2eab859eb712da94943eb4)
# Remote flake (Nix)
$ nix build github:nix-community/nix-installers#nix-deb
$ nix build github:nix-community/nix-installers#nix-pacman
$ nix build github:nix-community/nix-installers#nix-rpm
# Remote flake (Lix)
$ nix build github:nix-community/nix-installers#lix-deb
$ nix build github:nix-community/nix-installers#lix-pacman
$ nix build github:nix-community/nix-installers#lix-rpm# In a cloned repository (Nix)
$ nix build .#nix.deb
$ nix build .#nix.pacman
$ nix build .#nix.rpm
# In a cloned repository (Lix)
$ nix build .#lix.deb
$ nix build .#lix.pacman
$ nix build .#lix.rpm