"Why should I use Nyxt if I can use Vimium?"

By John Mercouris and Pedro Delfino

The infamous question

After introducing Nyxt to some people, it is frequent to hear to questions such as: Why should I use Nyxt if I can use Vimium (or 'Vimari 'Vrome 'Chromemacs 'Vimperator …) in my-favorite-popular-web-browser?

This question is reasonable. Web browsers and their extensions are part of one's daily habits. If one happens to be productive using them, it just makes sense to be really careful before trying something new.

In order to answer this frequent question, we decided to list four points that show the difference between Nyxt and popular plug-ins such as:

All of them try to bring the Vim/Emacs philosophy to mainstream web browsers. Our goal is not to demean other projects but clarify the contrast between Nyxt and those plug-ins. Each point will be illustrated by useful practical examples.

Differences

  1. Nyxt is fully customizable and extensible, plug-ins are not. Practical examples:
  2. Nyxt can perform computation in separate background threads while plug-ins cannot. Practical examples:
  3. Nyxt can interact and integrate with the user's operating system to run external programs or scripts while plug-ins cannot. Practical examples:
  4. Nyxt is programmed in Common Lisp, plug-ins are in JavaScript. Practical examples:

Conclusion

Plug-ins focus on link-hinting, keybindings, and navigation. Nyxt also covers these topics but with more depth, power, and flexibility.

Although the previous topics favor Nyxt over plug-ins, it is important to highlight that plug-ins also have unique benefits. Currently, the main one is the fact that Nyxt does not support Web Extensions while plug-ins are by definition part of an ecosystem of Web Extensions.

The support of Web Extensions in Nyxt is under experimental development and we hope this difference will soon disappear. Stay tuned and may the power of Nyxt be with you :)

Credits

The idea for this article emerged after a conversation with Felipe César (felpsio). Thank you for inspiring us to write this down :)

From our community, @dtw-waleee and @edgar-vincent for their valuable feedback!