nyxt
Browse the web
TLDR
List all profiles
Set the init.lisp file path
Change the path to the auto-config file
Print system information
SYNOPSIS
nyxt [OPTIONS...] [URL]
PARAMETERS
--help
Display a help message and exit.
--version
Show the version number and exit.
--no-init
Prevent loading the user's initialization file (e.g., init.lisp).
--config
Specify a custom directory for configuration files.
--data
Specify a custom directory for browser data (e.g., history, cookies).
--profile
Load a specific user profile for isolation of data and settings.
--url
Open a specific URL upon launch. Can be used multiple times to open multiple URLs.
--script
Execute a Lisp script file upon browser startup.
--eval
Evaluate arbitrary Common Lisp code within the browser's environment.
--remote-eval
Evaluate Common Lisp code on a running Nyxt instance via the socket.
DESCRIPTION
Nyxt is a powerful and highly extensible web browser designed for keyboard-centric power users. Written in Common Lisp, it embraces a modal editing philosophy, similar to Emacs or Vim, allowing users to navigate and interact with web content using efficient keybindings and a robust internal command system. Unlike conventional browsers, Nyxt emphasizes customizability, enabling users to define their own commands, modify browser behavior, and integrate external tools directly. Its unique architecture makes it ideal for those seeking to tailor their browsing experience precisely to their workflow, minimizing mouse usage and maximizing efficiency. It provides features like multiple buffers (tabs), an advanced bookmarking system, and a powerful command line (M-x). The browser's open-source nature and Lisp foundation foster a vibrant community and offer unparalleled opportunities for deep personalization.
CAVEATS
Nyxt has a significant learning curve, especially for users unfamiliar with modal editing or keyboard-driven interfaces. Its focus on customization can be daunting for beginners. While highly functional, it might not support all web features (e.g., certain DRM content or specific proprietary media plugins) as seamlessly as mainstream browsers. Performance can vary depending on system resources and the complexity of user configurations.
EXTENSIBILITY THROUGH LISP
One of Nyxt's core strengths is its foundation in Common Lisp. This allows for unparalleled extensibility; users can write their own commands, hooks, and extensions directly in Lisp. This deep programmability enables integration with external programs, automation of tasks, and creation of highly personalized workflows that go beyond what's possible in most other browsers.
KEYBOARD-CENTRIC DESIGN
Nyxt is built from the ground up for keyboard interaction, minimizing the need for a mouse. It features customizable, modal keybindings inspired by Emacs and Vim, allowing for efficient navigation, tab management, and command execution. This design caters to power users who prioritize speed and efficiency through keyboard shortcuts.
POWERFUL COMMAND LINE (M-X)
Similar to Emacs's M-x (or `C-c C-c` in Nyxt), the browser provides an internal command line interface where users can type and execute any of Nyxt's built-in commands or their own custom functions. This makes it incredibly easy to access features, navigate history, manage bookmarks, and perform complex operations without ever touching the mouse or navigating menus.
HISTORY
Initially known as Next browser, Nyxt was conceived around 2017 with the goal of creating a modern, highly extensible, and keyboard-centric web browser written in Common Lisp. The project aimed to address the desire for a browser that could be as programmable and efficient as popular text editors like Emacs and Vim. The name was later changed to Nyxt to establish a distinct identity and avoid potential trademark conflicts. It continues to be actively developed by a dedicated open-source community, consistently evolving with new features and improvements driven by its unique architectural choices.
SEE ALSO
emacs(1), vim(1), qutebrowser(1), surf(1)