Nix Installation Guide: Difference between revisions

Hans4687 (talk | contribs)
Added more configuration and troubleshooting for Debian
Removed outdated and incorrect information, and updated it accordingly
 
(2 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Please take a look at https://nixos.org/download.html first for basic installation instructions and read the relevant section in the Nix manual if you want to know more about how the install process works: https://nixos.org/manual/nix/stable/#ch-installing-binary.
Please take a look at https://nixos.org/download.html first for basic installation instructions and read the relevant section in the Nix manual if you want to know more about how the install process works: https://nixos.org/manual/nix/stable/#ch-installing-binary.


== Single-user install ==
== Installation ==
Nix package manager can be installed as either:


=== Stable Nix ===
* Multi User Installation (recommended)
 
* Single User Installation
To install stable Nix from any Linux distribution, use the following two commands. (Note: This assumes you have the permission to use <code>sudo</code>, and you are logged in as the user you want to install Nix for.)


<syntaxHighlight lang="console">
=== Multi User Installation ===
$ sudo install -d -m755 -o $(id -u) -g $(id -g) /nix
<syntaxhighlight lang="console">
$ curl -L https://nixos.org/nix/install | sh
$ bash <(curl -L https://nixos.org/nix/install) --daemon
</syntaxHighlight>
</syntaxhighlight>


Then don't forget to reboot or run the command provided at the end of the installation script to make nix available in your system:
=== Single User Installation ===
<syntaxHighlight lang="console">
<syntaxhighlight lang="console">
$ source $HOME/.nix-profile/etc/profile.d/nix.sh
$ bash <(curl -L https://nixos.org/nix/install) --no-daemon
</syntaxHighlight>
</syntaxhighlight>


You may want to put this file directly in your ~/.bashrc or similar, so Nix would be available in any newly created shell.
=== Stable Nix ===


When using another shell like [https://fishshell.com Fish], you should ignore the previous procedure and use the [https://github.com/jorgebucaran/fisher Fisher] plugin [https://github.com/lilyball/nix-env.fish Nix-env].  
By default, the rolling Nix package manager will be installed using one of the above commands and thus the <code>nixpkgs-unstable</code> [[Channel Branches|channel]] will be used.


After that being done, you can use all Nix commands as a normal user without any special permissions (for example by using <code>sudo</code>).
Follow the below to switch to the stable channel:<syntaxhighlight lang="console">
$ sudo su
$ nix-channel --remove nixpkgs
$ nix-channel --add https://nixos.org/channel/nixos-25.11 nixpkgs
$ nix-channel --update
</syntaxhighlight>Then run the following command to verify that you are using the stable channel:<syntaxhighlight lang="console">
$ nix-shell -p nix-info --run "nix-info -m"
</syntaxhighlight>


==== Troubleshooting ====  
==== Troubleshooting ====  
Line 37: Line 44:
enabled by default on Linux which requires user namespaces.
enabled by default on Linux which requires user namespaces.
If possible enable them; the procedure depends on the distribution. In last resort, you can disable the sandbox: create the file <code>~/.config/nix/nix.conf</code> and include the line <code>sandbox = false</code>.
If possible enable them; the procedure depends on the distribution. In last resort, you can disable the sandbox: create the file <code>~/.config/nix/nix.conf</code> and include the line <code>sandbox = false</code>.
=== Unstable Nix ===
To install unstable Nix, you can use the [https://github.com/numtide/nix-unstable-installer unofficial installer by @numtide]. Instructions are available in the README of the repository.


== Nix store on an unusual filesystem ==
== Nix store on an unusual filesystem ==
Line 249: Line 252:
Restart the <code>nix-daemon.service</code>
Restart the <code>nix-daemon.service</code>
Used source: https://blog.koch.ro/posts/2024-01-16-using-nix-package-manager-in-debian.html
Used source: https://blog.koch.ro/posts/2024-01-16-using-nix-package-manager-in-debian.html
1 To be added...
2 URL test
https://tweakers.net/
== Windows Subsystem for Linux (WSL) ==
== Windows Subsystem for Linux (WSL) ==


Line 282: Line 278:


Because there is no officially produced ARMv7l installer, this page describes how to build your own: [[Nix_on_ARM]].
Because there is no officially produced ARMv7l installer, this page describes how to build your own: [[Nix_on_ARM]].
== Further reading ==
* [https://nixcademy.com/posts/nix-on-macos/ Setting up Nix on macOS, Nixcademy]


[[Category:nix]]
[[Category:nix]]
[[Category:Cookbook]]
[[Category:Cookbook]]