Configs2026年6月1日·1 分钟阅读

Nyxt — The Keyboard-Driven Hacker's Browser in Common Lisp

Nyxt is a fully programmable web browser designed for power users, written in Common Lisp with Emacs and Vim-style keybindings, extensible through a built-in REPL and Lisp configuration.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
Nyxt Overview
直接安装命令
npx -y tokrepo@latest install 0b20c07c-5d50-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

Nyxt is a web browser built for keyboard-driven workflows and deep extensibility. Unlike traditional browsers that prioritize mouse interaction, Nyxt treats browsing as a programmable activity where every action can be scripted, chained, and customized through Common Lisp.

What Nyxt Does

  • Provides Emacs-style and Vim-style keybinding modes for keyboard navigation
  • Renders web pages using WebKitGTK or WebEngine backends
  • Offers a command prompt (similar to Emacs M-x) for executing any browser action
  • Supports tree-style history with full-text search across visited pages
  • Allows live customization via an integrated Common Lisp REPL

Architecture Overview

Nyxt is written entirely in Common Lisp with a modular architecture. The browser core manages buffers (tabs), modes, and commands while delegating rendering to platform-specific backends (WebKitGTK on Linux, WebEngine elsewhere). Configuration is native Lisp code loaded at startup, and users can redefine any function or class at runtime via the REPL.

Self-Hosting & Configuration

  • Install via system package manager or download pre-built binaries
  • Configuration lives in ~/.config/nyxt/config.lisp as plain Lisp code
  • Define custom keybindings by creating or modifying mode classes
  • Install extensions by adding Lisp systems to the ASDF load path
  • Configure proxy, search engines, and download paths in the config file

Key Features

  • Built-in ad blocker with customizable filter lists
  • Smart bookmark system with tags and full-text search
  • Password manager integration (KeePassXC, Pass, 1Password)
  • Cloned buffer and session restoration across restarts
  • Programmable scripting for automating repetitive browsing tasks

Comparison with Similar Tools

  • Qutebrowser — Vim-keybindings browser in Python but less extensible
  • Vimb — Minimal Vim-like browser but lacks programmability
  • Luakit — Lua-scriptable browser, lighter but fewer features
  • Firefox with Vimium — Extension-based approach limited by browser sandbox
  • Emacs EWW — Text-mode browser inside Emacs, no JavaScript support

FAQ

Q: Does Nyxt support browser extensions like Firefox? A: Nyxt does not use WebExtensions. Instead, it provides native Lisp extensibility which offers deeper integration than sandboxed extensions.

Q: Can Nyxt render modern JavaScript-heavy websites? A: Yes. It uses WebKitGTK which is a full modern rendering engine with JavaScript support.

Q: Do I need to know Lisp to use Nyxt? A: No. Nyxt works out of the box with sensible defaults. Lisp knowledge is only needed for advanced customization.

Q: How is Nyxt different from a terminal browser? A: Nyxt is a full graphical browser with modern rendering capabilities. It simply prioritizes keyboard interaction and programmability over mouse-driven UI.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产