Easy search mechanism for nix manuals, built on fzf
Go to file
Oystein Kristoffer Tveit f6217e4c54
Restructure project:
The project has grown quite a bit without me remembering
to make any commits...

Here's a summary of what has happened:

- Make the project friendly towards non-flake users
- Add searchers to be created: `nur-package-search`, `nix-lib-search`
- Add misc util scripts for formatting and testing code.
- Split templates into their own directory,
    as they get quite large after a while.

- Add colorized templates.
- Replace some of the xml tags with optionally colorized output.
- Add `--no-color` option
- Add json2nix script, which will convert the json-converted
    nix code back into nix.
2022-11-26 05:14:14 +01:00
internals Restructure project: 2022-11-26 05:14:14 +01:00
searchers Restructure project: 2022-11-26 05:14:14 +01:00
templates Restructure project: 2022-11-26 05:14:14 +01:00
utils Restructure project: 2022-11-26 05:14:14 +01:00
.gitignore Initial commit 2022-11-24 20:09:31 +01:00
LICENSE Initial commit 2022-11-24 20:09:31 +01:00
README.md Initial commit 2022-11-24 20:09:31 +01:00
default.nix Restructure project: 2022-11-26 05:14:14 +01:00
flake.lock Initial commit 2022-11-24 20:09:31 +01:00
flake.nix Restructure project: 2022-11-26 05:14:14 +01:00
shell.nix Restructure project: 2022-11-26 05:14:14 +01:00

README.md

Nix Attr Search

NOTE: This is still in alpha

These are some tools i made for ease of searching for stuff while writing my nix configs.

They are made with fzf, so they can easily be piped into other programs.

Also, they all create a derivation containing all of the attributes.


Try it out!

Nix Packages

TODO:

Nix Options

TODO:

Homemanager

nix run github:h7x4/nix-attr-search#home-manager-search

Or a more advanced version:

nix run github:h7x4/nix-attr-search#home-manager-search -- --flake="github:nix-community/home-manager" --ref="release-22.05"

Some piping ideas

Misc

  • Pipe the option into the clipboard
  • Bind shortcut keys to open a terminal with the program, and paste the chosen option directly into the current program (probably a code editor of some sort, with your nix configs open).

Repiping values into jq

  • Repipe the chosen value into jq, and choose either the default value, the example value.
  • Repipe the chosen value into jq, choosing its referenced configs, pipe these into fzf once more to choose one referenced config, then pipe this relative file path into rg to (hopefully) find the specific location the value was set, and then open the file at its specific position in an editor.