Revolutionize Your Browsing Experience: Learn How To Create Your Own Custom Web Browser With Nyxt!

Are you tired of using the same old web browser day in and day out? Are you looking for a way to customize your browsing experience to your liking? Look no further than Nyxt, a powerful web browser that allows you to create your own custom browsing experience.

Nyxt is an open-source web browser that is built for power users. Its unique design allows users to extend its functionality through a Lisp-based scripting language. This means that users can customize their browsing experience to their exact specifications.

The key to Nyxt’s power is its modular design. Each feature of the browser is a separate module, which allows users to add or remove functionality as they see fit. This means that users can create a truly personalized browsing experience.

One of the most powerful features of Nyxt is its ability to create custom keybindings. Keybindings are keyboard shortcuts that allow users to quickly access functions within the browser. Nyxt allows users to create their own keybindings for any function within the browser. This means that users can create a custom workflow that is tailored to their unique needs.

Another powerful feature of Nyxt is its built-in web inspector. This tool allows users to inspect the HTML and CSS of any website they visit. This is particularly useful for web developers, as it allows them to see how different elements of a website are constructed.

Nyxt also includes a powerful bookmarking system. Users can create bookmarks for any website they visit, and organize them into folders for easy access. In addition, Nyxt’s bookmarks can be synced across devices, so users can access their bookmarks from anywhere.

The beauty of Nyxt is that it is infinitely customizable. Users can create their own modules to add new functionality to the browser, or modify the existing modules to better suit their needs. This means that there is no limit to what users can do with Nyxt.

If you’re interested in revolutionizing your browsing experience, give Nyxt a try. Its powerful customization options, combined with its easy-to-use interface, make it the perfect choice for power users who want complete control over their browsing experience. So why wait? Download Nyxt today and start creating your own custom web browser!

Nyxt is a lightweight modern web browser that focuses on functionality, usability and extensibility. It borrows concepts from both Emacs and Vim to provide a way to navigate the web with only your keyboard.

This article aims to guide you through the process of installing the Nyxt browser on Ubuntu. Further, this article also aims to show you how you can configure Nyxt to fit to your own personal workflow.

Why Use the Nyxt Web Browser?

One of the main selling points of Nyxt is that it is easy to extend and modify. Unlike other modal browsers such as Qutebrowser, it is possible to configure every aspect and setting in Nyxt.

This is because the browser works as a live Lisp environment that you can actively tweak on the fly. For example, it is possible to configure the browser not to download any images from websites.

This makes Nyxt an incredibly versatile tool for power users that want to create a fully custom environment for web browsing.

Installing the Nyxt Web Browser

  • The first step in installing Nyxt is to obtain a copy of its latest binaries from the developer’s website. You can do it from the terminal as well using wget:

  • Create a new directory and extract the binary archive inside it. You can do both of those actions by running the following commands:

  • Create a symbolic link from your “nyxt” directory to “/usr/local/bin.” This adds Nyxt to your system’s PATH variable and enables you to open the browser from anywhere in your computer:

  • You can now run Nyxt by typing nyxt, then pressing Enter.

Using the Nyxt Web Browser

With Nyxt up and running, you can now browse the internet with it. To open a webpage, you need to press Ctrl + L. This will bring up a small prompt where you can type the URL that you want to visit.

For example, pressing Ctrl + L, then typing “https://maketecheasier.com” will open the MakeTechEasier website.

From here, the browser should properly display the website and you will be able to interact with it as a regular webpage.

Similar to a regular web browser, you can also use the same interface to make basic search queries. For example, pressing Ctrl + L, then typing “maketecheasier linux tutorials” will open a DuckDuckGo results page.

By default, Nyxt does not support any form of browser tabs. Instead, it heavily relies on independent frames and buffers to maintain each webpage that it loads. This allows you to customize the behavior of Nyxt on a per-website basis.

You can access a list of all the available buffer in your current session by pressing Alt + Down.

Aside from loading buffers from a list, you can also quickly switch in-between them by pressing Ctrl + Tab. This command will automatically cycle the browser to every buffer in the current session.

On the other hand, you can press Ctrl + [ to go back to the previous buffer and Ctrl + ] to go to the next one.

Lastly, the Nyxt browser also allows you to directly open webpages in separate buffers. Similar to opening in a background tab, you can do this by pressing Alt + L.

Another unique feature of Nyxt is its ability to display a tree-style history. This can be useful for users that want to trace back the sites that they have visited on their current session. To activate Nyxt’s tree-style history for the current buffer, press Ctrl + Space, then type “buffer-history-tree.”

Nyxt also supports a traditional list-style system. Press Ctrl + Shift, then H to bring up a small dialog menu where you can search for the history item that you want to load.

Lastly, you can also go through your session’s history similar to navigating your buffer list. For example, you can press Alt + [ to open the last page you have visited and Alt + ] to go back to your current webpage.

Changing Browser Modes in Nyxt

Nyxt ships with roughly 20 modes by default. These either control how the browser displays web content or change how you access a website. For example, the “noscript-mode” disables all JavaScript for the current buffer.

In order to change a mode, you need to press Ctrl + Space. This will bring up a small dialog box where you can provide the name of the mode that you want to activate. In my case, I type “emacs-mode” to enable Emacs-like keybindings while browsing the web.

Lastly, it is also possible to stack multiple modes in a single session. This can be helpful for users that want to create their own unique session while using Nyxt. To do this, you need to press Ctrl + Space, then type “toggle-modes.”

Configuring and Extending Nyxt

One of the biggest features of Nyxt is that it is possible to configure and extend almost every aspect of the program. However, it also means that it is possible to break the program with a wrong setting. With that in mind, you can create your own Nyxt configuration file by running the following command:

With a configuration file up and running, you can now write your own custom settings. For example, the following line of code will rebind the address buffer from Ctrl + L to Ctrl + Alt, then K:

  • The defvar function tells Nyxt to create a custom keymap for the browser and name it as “custom-map.”
  • On the other hand, the define-key function creates a new keyboard combination inside that keymap and assigns it to the ‘set-url function. In this case, the value C-M-k corresponds to Ctrl + Alt, then K.
  • Lastly, the define-mode function tells Nyxt to contain all the settings for the custom keymap inside a special “custom-mode.” This allows you to isolate any changes that you have made away from the default configuration.

With that done, you can now apply your new settings by saving your config file and reloading the Nyxt browser.

Frequently Asked Questions

Image credit: Unsplash. All alterations and screenshots by Ramces Red.

Is it possible to run Nyxt without a terminal open?

Yes. It is possible to run the Nyxt browser without relying on the terminal. To do this, you can create a custom .desktop file for your Nyxt application.

I am getting a STRING INVALID error whenever I do any action in Nyxt.

This problem happens whenever you run Nyxt on a Wayland session. This is because the program heavily relies on Xorg to render and process its functions. You can fix this by logging out of your current session and selecting “Ubuntu on Xorg” on your machine’s login menu.

I can’t launch the web browser due to a GTK/Xorg error.

This error mostly occurs whenever your system is out of date. You can fix this issue by running sudo apt update then sudo apt upgrade to bring all of your programs and libraries to their latest version.

Ramces is a technology writer that lived with computers all his life. A prolific reader and a student of Anthropology, he is an eccentric character that writes articles about Linux and anything *nix.

Our latest tutorials delivered straight to your inbox