From a004c84e85fa03137afeb08d8f93a6c0df7ed6bf Mon Sep 17 00:00:00 2001 From: Sergei Zimmerman <145775305+xokdvium@users.noreply.github.com> Date: Tue, 18 Feb 2025 13:01:39 +0300 Subject: [PATCH] Don't override default man search paths By appending a colon to MANPATH NIX_MAN_DIR gets prepended to the final MANPATH before default search paths. This makes man still consider default search paths, but prefers NIX_MAN_DIR (if it exists). It still makes sense to point NIX_MAN_DIR to a correct location by moving man pages build from nix-manual.man to nix-cli.man, but this should fix most common use-cases where nix is installed globally. (cherry picked from commit 95f16a3275a3d23afe4f311cb793d7a5d47222e1) --- src/nix/man-pages.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nix/man-pages.cc b/src/nix/man-pages.cc index a98a771cc..e9e89bb62 100644 --- a/src/nix/man-pages.cc +++ b/src/nix/man-pages.cc @@ -13,7 +13,7 @@ std::filesystem::path getNixManDir() void showManPage(const std::string & name) { restoreProcessContext(); - setEnv("MANPATH", getNixManDir().c_str()); + setEnv("MANPATH", (getNixManDir().string() + ":").c_str()); execlp("man", "man", name.c_str(), nullptr); if (errno == ENOENT) { // Not SysError because we don't want to suffix the errno, aka No such file or directory.