Nix Options – A set of useful Emacs modes and functions for users of Nix and Nix OS.
helm-nixos-options is the one that you want to bind. You are free
to choose where and if you want it global you can have this.
(global-set-key (kbd "C-c C-S-n") 'helm-nixos-options)
The description of the option is shown in the minibuffer
If you want more information, there is a detailed buffer when you press
There are also other actions like inserting the current match into the buffer
Add company-nixos-options to allowed company-mode backends list
(add-to-list 'company-backends 'company-nixos-options)
For now it shows the documentation of the option in a popup-buffer.
Utility functions to work with nix sandboxes.
nix-shell-commandcomposes command that can be executed in the given sandbox
nix-shellexecutes a command in the given sandbox
nix-compilecompiles a program in the given sandbox
nix-find-sandboxsearches from the given path upwards until it finds a
nix-current-sandboxsearches for a sandbox file starting from the current working directory.
nix-executable-finda replacement for the built-in
executable-find. The function searches in the given sandbox for executables.
With this configuration flycheck can find executables of checkers that would be only accessible via
(setq flycheck-command-wrapper-function (lambda (command) (apply 'nix-shell-command (nix-current-sandbox) command)) flycheck-executable-find (lambda (cmd) (nix-executable-find (nix-current-sandbox) cmd)))
Add these lines to your configuration to allow haskell-mode to look for
ghc in the current sandbox.
(setq haskell-process-wrapper-function (lambda (args) (apply 'nix-shell-command (nix-current-sandbox) args)))