1
1
Fork
You've already forked orchid
0
Manage nix roots outside of the usual locations, for non-nix-native development. Mirror of https://sr.ht/~fgaz/orchid/ https://sr.ht/~fgaz/orchid/
  • Haskell 94.7%
  • Nix 5.3%
Find a file
2026年04月12日 19:07:38 +02:00
bimap-many @c7846d4a10 Update dependencies 2025年05月31日 00:34:24 +02:00
src Don't use the filesystem as a poor man's database 2023年09月09日 10:00:59 +02:00
.gitignore Ignore more haskell/nix stuff 2020年11月10日 22:37:49 +01:00
.gitmodules Add bimap-many submodule 2023年09月07日 09:25:25 +02:00
cabal.project Don't use the filesystem as a poor man's database 2023年09月09日 10:00:59 +02:00
CHANGELOG.md 🌅 2020年10月22日 19:29:52 +02:00
default.nix Update generateOptparseApplicativeCompletions 2023年12月12日 17:28:50 +01:00
flake.nix Use self.submodules in flake 2026年04月12日 18:51:56 +02:00
LICENSE 🌅 2020年10月22日 19:29:52 +02:00
Main.hs Show global options in subcommand help 2022年05月15日 17:29:49 +02:00
orchid.cabal Update dependencies 2026年04月12日 19:07:38 +02:00
README.md Use self.submodules in flake 2026年04月12日 18:51:56 +02:00
Setup.hs 🌅 2020年10月22日 19:29:52 +02:00

orchid

This program was made to solve the problem resulting from the following sequence of events:

  • Enter a nix-shell -p $library, where $library is needed for development
  • In the shell, build some $program, which links with, or makes use of, $library
  • Exit the shell, run nix-collect-garbage
  • $program now lacks $library and breaks

Orchid scans the given paths for references to the nix store and pins whatever it finds.

In other words, it makes nix take roots outside of the store+environments, hence the name.

Other nice features are:

  • Fast, incremental scanning
  • Simple filesystem-based root database

Installation

Both a traditional default.nix and a flake are provided. Install from a checkout with:

$ nix-env -f . -i

or:

nix profile add

Usage

To scan PATH for references and pin them, run

orchid pin PATH

Use the --help flag to see more options.

Contributing

You can send patches to my public-inbox mailing list or to any of the contacts listed at fgaz.me/about. Or you can send a pull request to the Codeberg mirror.

Issues are tracked at https://todo.sr.ht/~fgaz/orchid