/manix

A fast CLI documentation searcher for Nix.

Primary LanguageRustMozilla Public License 2.0MPL-2.0

Manix

A fast CLI documentation searcher for Nix.

Supported sources:

  • Nixpkgs Documentation
  • Nixpkgs Comments
  • Nixpkgs Tree (pkgs., pkgs.lib.)
  • NixOS Options
  • Home-Manager Options

Usage

manix --help
manix mergeattr
manix --strict mergeattr
manix --update-cache mergeattr

rnix-lsp

If you want to use it in your editor, check ElKowar's rnix-lsp fork, which uses it to provide documentation on hover and autocompletion.

manix

fzf

manix "" | grep '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | fzf --preview="manix '{}'" | xargs manix

Installation

Update

Manix is now available in nixpkgs. If you use the unstable channel installing is as easy as adding manix to your environment.systemPackages or home.packages.

Github Releases

Since it can take some time to compile Manix, you can download statically-built executables from Github Releases.

wget https://github.com/mlvzk/manix/releases/latest/download/manix
chmod +x manix
mv manix ~/bin/ # or some other location in your $PATH

nix-env

# If you have the unstable channel on your system
nix-env -f '<unstable>' -iA manix
# OR
nix-env -i -f https://github.com/mlvzk/manix/archive/master.tar.gz

Nix with flakes enabled

$ nix run 'github:mlvzk/manix' mapAttrs

Kudos

The inspiration for this project came from nix-doc