doomemacs/modules/lang/nix/README.org

88 lines
2.8 KiB
Org Mode
Raw Normal View History

#+title: :lang nix
#+subtitle: I hereby declare "nix geht mehr!"
#+created: December 02, 2017
#+since: 2.0.8 (#280)
* Description :unfold:
This module adds support for the Nix language to Doom Emacs, along with tools
for managing [[https://nixos.org/][Nix(OS)]].
Includes:
- Syntax highlighting
2022-09-26 02:19:42 +08:00
- Completion through [[doom-package:company]] and/or [[doom-package:helm]]
- Nix option lookup
- Formatting (~nixfmt~)
** Maintainers
- [[doom-user:][@hlissner]]
[[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
- +tree-sitter ::
Leverages tree-sitter for better syntax highlighting and structural text
2022-09-26 02:19:42 +08:00
editing. Requires [[doom-module::tools tree-sitter]].
- +lsp ::
Enable an LSP hook for ~nix-mode~. Requires [[doom-module::tools lsp]] and a language
server (one of either ~nil~ or ~rnix-lsp~).
You can still start a nix lsp manually without this flag, this just adds
a hook to always start the lsp when loading ~nix-mode~.
** Packages
2022-09-26 02:19:42 +08:00
- [[doom-package:company-nixos-options]] if [[doom-module::completion company]]
- [[doom-package:helm-nixos-options]] if [[doom-module::completion helm]]
- [[doom-package:nix-mode]]
- [[doom-package:nix-update]]
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* TODO Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
This module requires:
- [[https://nixos.org/guides/install-nix.html][The Nix package manager]], for a variety of its features (besides syntax
highlighting).
2022-09-26 02:19:42 +08:00
- =nixfmt=, for automatic formatting (requires [[doom-module::editor format]]).
- *MacOS:* TODO
- *Arch Linux:* TODO
- *NixOS:* in ~pkgs.nixfmt~
* TODO Usage
#+begin_quote
󱌣 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
** Keybindings
| Binding | Description |
|-----------------+----------------------|
| [[kbd:][<localleader> b]] | ~nix-build~ |
| [[kbd:][<localleader> f]] | ~nix-update-fetch~ |
| [[kbd:][<localleader> o]] | ~+nix/lookup-option~ |
| [[kbd:][<localleader> p]] | ~nix-format-buffer~ |
| [[kbd:][<localleader> r]] | ~nix-repl-show~ |
| [[kbd:][<localleader> s]] | ~nix-repl-shell~ |
| [[kbd:][<localleader> u]] | ~nix-unpack~ |
* TODO Configuration
#+begin_quote
󱌣 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
* TODO Appendix
#+begin_quote
󱌣 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote