Home Explore Blog CI



nix

1st chunk of `src/nix/edit.md`
79fe7f9eb880397860494e7c857ce3d0efa2392e5a77e6630000000100000382
R""(

# Examples

* Open the Nix expression of the GNU Hello package:

  ```console
  # nix edit nixpkgs#hello
  ```

* Get the filename and line number used by `nix edit`:

  ```console
  # nix eval --raw nixpkgs#hello.meta.position
  /nix/store/fvafw0gvwayzdan642wrv84pzm5bgpmy-source/pkgs/applications/misc/hello/default.nix:15
  ```

# Description

This command opens the Nix expression of a derivation in an
editor. The filename and line number of the derivation are taken from
its `meta.position` attribute. Nixpkgs' `stdenv.mkDerivation` sets
this attribute to the location of the definition of the
`meta.description`, `version` or `name` derivation attributes.

The editor to invoke is specified by the `EDITOR` environment
variable. It defaults to `cat`. If the editor is `emacs`, `nano`,
`vim` or `kak`, it is passed the line number of the derivation using
the argument `+<lineno>`.

)""

Title: Nix Edit Command: Opening and Locating Nix Expressions
Summary
The `nix edit` command opens the Nix expression of a derivation in a text editor. It uses the `meta.position` attribute to determine the filename and line number of the derivation's definition. The editor is specified by the `EDITOR` environment variable, defaulting to `cat`. For `emacs`, `nano`, `vim`, or `kak`, the line number is passed as an argument.