NonGNU-devel ELPA - nix-mode

nix-mode

Description
Major mode for editing .nix files
Latest
nix-mode-1.5.0.0.20230421.153655.tar, 2023-Apr-21, 190 KiB
Maintainer
Matthew Bauer <mjbauer95@gmail.com>
Website
https://github.com/NixOS/nix-mode
Browse ELPA's repository
CGit or Gitweb
Badge

To install this package, run in Emacs:

M-x package-install RET nix-mode RET

Full description

A major mode for editing Nix expressions (.nix files).  See the Nix manual
for more information available at https://nixos.org/nix/manual/.

Old versions

nix-mode-1.5.0.0.20230329.144828.tar.lz2023-Mar-2939.9 KiB
nix-mode-1.5.0.0.20230317.205614.tar.lz2023-Mar-1839.8 KiB
nix-mode-1.5.0.0.20230210.94010.tar.lz2023-Feb-1039.7 KiB
nix-mode-1.5.0.0.20230112.124501.tar.lz2023-Jan-1239.6 KiB
nix-mode-1.5.0.0.20221201.202846.tar.lz2022-Dec-0239.7 KiB
nix-mode-1.4.4.0.20221108.181757.tar.lz2022-Nov-0939.7 KiB
nix-mode-1.4.4.0.20221031.110139.tar.lz2022-Oct-3139.7 KiB
nix-mode-1.4.4.0.20221030.182946.tar.lz2022-Oct-3139.7 KiB
nix-mode-1.4.4.0.20220830.230247.tar.lz2022-Aug-3139.6 KiB
nix-mode-1.4.4.0.20220121.112325.tar.lz2022-Jan-2939.2 KiB

News

Changelog

Unreleased (1.6.0)

  • Introduce nix-store-path-omit-self customization option.

1.5.0

  • Removed json-mode dependency, using js instead.
  • Compatibility with Emacs 28+.
  • Add nix-flake commands, based on magit-section.
  • Add nix-store-show-log command.
  • Other various fixes.

1.4.5

  • Fixed completion support in nix-repl-mode for Nix 2.

1.4.4

Changes
  • Fix a bug causing Nix-based completions to throw an error

1.4.3

Changes
  • Better documentation for nix-prettify-mode
  • Fixes for nix-eshell.el
  • Use NIX_GET_COMPLETIONS if Nix 3.0 is installed
  • Add flake.nix

1.4.2

Changes
  • Fixed build scripts to work with newer org-mode.
  • Invoke smie indent function locally, instead of globally.
  • Indent correctly when encountering preceding angle bracket paths.
  • Require Emacs 25.
  • Add json-mode dependency.

1.4.1

Changes
  • Made smie-setup optional. Some really large files can take a little bit to load. You can smie by setting nix-mode-use-smie to nil. It is still enabled by default.

  • Tweaks to how smie works.

1.4.0

Changes
  • Introduced SMIE indentation mode. It is now the default. The old behavior can be restored by setting ‘nix-indent-function’ to indent-relative.

  • Added the ‘nix-indent-region’ function to indent blocks of Nix expressions. This can be used as a dumb formatter.

  • Better testing has been added to make sure we handle more cases of Nix indentation style.

1.3.0

  • Added manual.

  • Create CHANGELOG.md

New files
  • nix.el: customization settings for nix installation

1.2.1

Changes
  • fix byte-compile error

1.2.0

New files
  • nix-format.el: format Nix code using nixfmt
  • nix-mode-mmm.el: treate multiline strings as sh-script within nix-mode
  • nix-repl.el: run nix-repl within Emacs
  • nix-prettify-mode.el: shorten store paths to /nix/store/…-foo-0.1
  • nix-shell.el: run nix-shell within Emacs
  • nix-company.el: complete Nix expressions through company
Changes

All of these reflect nix-mode.el and what's been changed from the original nix-mode.el.

  • add some simple tests for nix-mode
  • handle antiquotes within Nix expressions better
  • handle multiline string better
  • fixes some edge cases for ''${ (escaped antiquote)
  • indent Nix code based on Nix-specific rules (not just indent-relative)
  • enforce Nix spacing style rules in nix-mode (2 spaces, no tabs)
Bug fixes

This version fixes the following bugs in the original Nix version:

  • fixes the issue where /* by a multiline string is interpreted as a comment (NixOS/nix#662)
  • fixes antiquote highlighting within double quotes like x="${asdf}" (NixOS/nix#1055)
  • fixes an issue in org-mode fontification of nix files (NixOS/nix#1040)
  • Also, should these issues should be closable: NixOS/nix#1419, NixOS/nix#1086, NixOS/nix#1054

1.0

Original nix-mode from https://github.com/NixOS/nix/. See that repository for older changelog.