Difference between revisions of "Nix command"

From NixOS Wiki
Jump to: navigation, search
Line 92: Line 92:
 
=== [[Nix_command/add-to-store|nix add-to-store]] ===
 
=== [[Nix_command/add-to-store|nix add-to-store]] ===
  
add a path to the Nix store
+
Add a path to the Nix store.
  
 
=== [[Nix_command/cat-nar|nix cat-nar]] ===
 
=== [[Nix_command/cat-nar|nix cat-nar]] ===
  
print the contents of a file inside a NAR file on stdout
+
Print the contents of a file inside a NAR file on stdout.
  
 
=== [[Nix_command/cat-store|nix cat-store]] ===
 
=== [[Nix_command/cat-store|nix cat-store]] ===
  
print the contents of a file in the Nix store on stdout
+
Print the contents of a file in the Nix store on stdout.
  
 
=== [[Nix_command/copy-sigs|nix copy-sigs]] ===
 
=== [[Nix_command/copy-sigs|nix copy-sigs]] ===
  
copy path signatures from substituters (like binary caches)
+
Copy path signatures from substituters (like binary caches).
  
 
=== [[Nix_command/dump-path|nix dump-path]] ===
 
=== [[Nix_command/dump-path|nix dump-path]] ===
  
dump a store path to stdout (in NAR format)
+
Dump a store path to stdout (in NAR format).
  
 
=== [[Nix_command/hash-file|nix hash-file]] ===
 
=== [[Nix_command/hash-file|nix hash-file]] ===
  
print cryptographic hash of the NAR serialisation of a path
+
Print cryptographic hash of the NAR serialisation of a path.
  
 
=== [[Nix_command/hash-path|nix hash-path]] ===
 
=== [[Nix_command/hash-path|nix hash-path]] ===
  
print cryptographic hash of the NAR serialisation of a path
+
Print cryptographic hash of the NAR serialisation of a path.
  
 
=== [[Nix_command/ls-nar|nix ls-nar]] ===
 
=== [[Nix_command/ls-nar|nix ls-nar]] ===
  
show information about a path inside a NAR file
+
Show information about a path inside a NAR file.
  
 
=== [[Nix_command/ls-store|nix ls-store]] ===
 
=== [[Nix_command/ls-store|nix ls-store]] ===
  
show information about a path in the Nix store
+
Show information about a path in the Nix store.
  
 
=== [[Nix_command/make-content-addressable|nix make-content-addressable]] ===
 
=== [[Nix_command/make-content-addressable|nix make-content-addressable]] ===
  
rewrite a path or closure to content-addressable form
+
Rewrite a path or closure to content-addressable form.
  
 
=== [[Nix_command/optimize-store|nix optimize-store]] ===
 
=== [[Nix_command/optimize-store|nix optimize-store]] ===
  
replace identical files in the store by hard links
+
Replace identical files in the store by hard links.
  
 
=== [[Nix_command/ping-store|nix ping-store]] ===
 
=== [[Nix_command/ping-store|nix ping-store]] ===
  
test whether a store can be opened
+
Test whether a store can be opened.
  
 
=== [[Nix_command/print-dev-env|nix print-dev-env]] ===
 
=== [[Nix_command/print-dev-env|nix print-dev-env]] ===
  
print shell code that can be sourced by bash to reproduce the build environment of a derivation
+
Print shell code that can be sourced by bash to reproduce the build environment of a derivation.
  
 
=== [[Nix_command/show-config|nix show-config]] ===
 
=== [[Nix_command/show-config|nix show-config]] ===
  
show the Nix configuration
+
Show the Nix configuration.
  
 
=== [[Nix_command/show-derivation|nix show-derivation]] ===
 
=== [[Nix_command/show-derivation|nix show-derivation]] ===
  
show the contents of a store derivation
+
Show the contents of a store derivation.
  
 
=== [[Nix_command/sign-paths|nix sign-paths]] ===
 
=== [[Nix_command/sign-paths|nix sign-paths]] ===
  
sign the specified paths
+
Sign the specified paths.
  
 
=== [[Nix_command/to-base16|nix to-base16]] ===
 
=== [[Nix_command/to-base16|nix to-base16]] ===
  
convert a hash to base-16 representation
+
Convert a hash to base-16 representation.
  
 
=== [[Nix_command/to-base32|nix to-base32]] ===
 
=== [[Nix_command/to-base32|nix to-base32]] ===
  
convert a hash to base-32 representation
+
Convert a hash to base-32 representation.
  
 
=== [[Nix_command/to-base64|nix to-base64]] ===
 
=== [[Nix_command/to-base64|nix to-base64]] ===
  
convert a hash to base-64 representation
+
Convert a hash to base-64 representation.
  
 
=== [[Nix_command/to-sri|nix to-sri]] ===
 
=== [[Nix_command/to-sri|nix to-sri]] ===
  
convert a hash to SRI representation
+
Convert a hash to SRI representation.

Revision as of 08:20, 26 July 2020

This article is about all nix subcommands. Its written for nix 2.4 or newer. Older nix versions might have different commands.

Enabling the nix command

In nix 2.4 the nix command must be enabled explicitly set experimental-features = nix-command in ~/.config/nix/nix.conf or system-wide in /etc/nix/nix.conf. In NixOS the latter one can be also achieved by using:

{ pkgs, ... }: {
   nix.extraOptions = ''
      experimental-features = nix-command
   '';
   # this is required until nix 2.4 is released
   nix.package = pkgs.nixUnstable;
}

In the following we describe all sub commands of nix:

Main commands

nix build

Build a derivation or fetch a store path.

nix develop

Run a bash shell that provides the build environment of a derivation.

nix flake

Manage Nix flakes.

nix profile

Manage Nix profiles.

nix repl

Start an interactive environment for evaluating Nix expressions.

nix run

Run a Nix application.

nix search

Query available packages.

nix shell

Run a shell in which the specified packages are available.

Infrequently used commands

nix copy

Copy paths between Nix stores.

nix edit

Open the Nix expression of a Nix package in $EDITOR.

nix eval

Evaluate a Nix expression.

nix log

Show the build log of the specified packages or paths, if available.

nix path-info

Query information about store paths.

nix registry

Manage the flake registry.

nix verify

Verify the integrity of store paths.

nix why-depends

Show why a package has another package in its closure.

Utility/scripting commands

nix add-to-store

Add a path to the Nix store.

nix cat-nar

Print the contents of a file inside a NAR file on stdout.

nix cat-store

Print the contents of a file in the Nix store on stdout.

nix copy-sigs

Copy path signatures from substituters (like binary caches).

nix dump-path

Dump a store path to stdout (in NAR format).

nix hash-file

Print cryptographic hash of the NAR serialisation of a path.

nix hash-path

Print cryptographic hash of the NAR serialisation of a path.

nix ls-nar

Show information about a path inside a NAR file.

nix ls-store

Show information about a path in the Nix store.

nix make-content-addressable

Rewrite a path or closure to content-addressable form.

nix optimize-store

Replace identical files in the store by hard links.

nix ping-store

Test whether a store can be opened.

nix print-dev-env

Print shell code that can be sourced by bash to reproduce the build environment of a derivation.

nix show-config

Show the Nix configuration.

nix show-derivation

Show the contents of a store derivation.

nix sign-paths

Sign the specified paths.

nix to-base16

Convert a hash to base-16 representation.

nix to-base32

Convert a hash to base-32 representation.

nix to-base64

Convert a hash to base-64 representation.

nix to-sri

Convert a hash to SRI representation.