Nyxt
Nyxt [nýkst] is a keyboard-driven web browser designed for hackers. Inspired by Emacs and Vim, it has familiar keybindings (Emacs, vi, CUA), and is infinitely extensible in Common Lisp.
Installation
Install the nyxt package or nyxt-gitAUR for the development version.
Usage
When first opened, nyxt provides a short tutorial on how to use the browser, its features and basic keybinds.
For more information, refer to the manual.
Configuration
Nyxt can be configured using either in-browser GUI or by directly modifying its config file.
By default all configuration files reside in ~/.config/nyxt
.
Tips and tricks
Change default keybinds
By default nyxt uses the CUA set of keybinds, these can either be changed in the browser settings or by adding this code snippet to ~/.config/nyxt/config.lisp
:
;; emacs keybinds (define-configuration buffer ((default-modes (pushnew 'nyxt/mode/emacs:emacs-mode %slot-value%))))
or if you prefer vi-style keybinds:
;; vi keybinds (define-configuration buffer ((default-modes (pushnew 'nyxt/mode/vi:vi-normal-mode %slot-value%))))
Adblocking
Nyxt comes with a builtin adblocker, to enable it put the following in ~/.config/nyxt/config.lisp
:
(define-configuration web-buffer ((default-modes (pushnew 'nyxt/mode/blocker:blocker-mode %slot-value%))))
Fingerprinting
Using tor
To proxy requests over Tor, including downloads:
(define-configuration nyxt/mode/proxy:proxy-mode ((nyxt/mode/proxy:proxy (make-instance 'proxy :url (quri:uri "socks5://localhost:9050") :allowlist '("localhost" "localhost:8080") :proxied-downloads-p t))))
(define-configuration web-buffer ((default-modes (append '(proxy-mode) %slot-value%))))
Reduce tracking mode
reduce-tracking-mode makes fingerprinting harder by changing the user agent, language, timezone (as to make them more generic) and removing tracking elements from URLs.
To enable it, simply add this to ~/.config/nyxt/config.lisp
:
(define-configuration web-buffer ((default-modes (pushnew 'nyxt/mode/reduce-tracking:reduce-tracking-mode %slot-value%))))
Troubleshooting
Videos not playing / Webpages crashing
HTML5 video support requires gstreamer and its associated plugins.
Not having them might prevent the browser from playing video, it also might make those pages crash.
Blank pages
If you experience blank websites, you may try to disable compositing by adding the following line to ~/.config/nyxt/config.lisp
(setf (uiop/os:getenv "WEBKIT_DISABLE_COMPOSITING_MODE") "1")