Nix (package manager): Difference between revisions

imported>ImExtends
mNo edit summary
imported>Mic92
Line 9: Line 9:


=== Declarative Configuration ===
=== Declarative Configuration ===
The only configuration file officially associated with Nix is <code>nix.conf</code> (usually found in <code>/etc/nix/</code>), which defines a number of settings relating to how Nix, including build, garbage collection, sandboxing, and user permissions. Details on the available options are found in the [https://nixos.org/nix/manual/#sec-conf-file|nix.conf section of the manual].


Support for declarative configuration in Nix is limited, and the solutions are somewhat fragmented. The only configuration file officially associated with Nix is <code>nix.conf</code> (usually found in <code>/etc/nix/</code>), which defines a number of settings relating to how Nix, including build, garbage collection, sandboxing, and user permissions. Details on the available options are found in the [https://nixos.org/nix/manual/#sec-conf-file|nix.conf section of the manual]. Since most scenarios involve using [[Nixpkgs]], configuration of <code>~/.config/nixpkgs/config.nix</code> is often also helpful; here package overrides can be specified.  
Since most scenarios involve using [[Nixpkgs]], configuration of <code>~/.config/nixpkgs/config.nix</code> is often also helpful; here package overrides can be specified.  


Work on Nix user profiles is well underway, see {{pull|9250|PR 9250}}.
[[Home Manager]] is the preferred way to manage declarative environments for a single user.
For system configuration on macOS [https://github.com/LnL7/nix-darwin nix-darwin] is the preferred solution.


=== Imperative Operations ===
=== Imperative Operations ===