WARNING: I no longer use Nyxt, so this config is likely to rot and get wildly irrelevant. Proceed with caution.
This loads other configuration files:
- Nyxt-dependent:
- keybinds.lisp,
- passwd.lisp,
- status.lisp,
- style.lisp,
- commands.lisp,
- hsplit.lisp,
- unpdf.lisp;
- objdump.lisp;
- and extension-dependent:
- ace.lisp
- kaomoji.lisp
- search-engines.lisp
- freestance.lisp
- dark-reader.lisp
And configures some basic things, like default modes for buffers.
Everything interesting is in other files.
There are some things that irritate me in default keybindings and I want to unbind/rebind these.
There are some commands that I lack keybindings for (e.g., password management, prompting history movement) and I want to add these.
A good example of how you can redefine mode keybinding there!
I don’t like the default wordy version of status-buffer (especially with long mode names), so I define my own styles and layouts to make it lighter.
This can evolve into an extension someday.
I love dark themes everywhere, and I don’t like any colors but red. This have made me to do black-red-and-green laconia-theme. I’m trying to reproduce it in style.lisp.
Right now it uses the 3.0 theme
library (made by yours truly :P).
I lack some things in Nyxt, like the ability to evaluate arbitrary Lisp expression without a REPL (there used to be a command for that in 1.5, but it was phased out) and horisontal split, so I hack those with some possibly non-portable things and internal Nyxt APIs.
It’s too useful to have hsplit to not implement a hacky one based on panel buffers :P
This one leverages Nyxt 3.* improved request processing to redirect any PDF file I load to a separate buffer, where its text is parsed with pdftotext
. I like pdftotext
(even if it’s quite chaotic at times), so why not extend this passion to Nyxt? :P
I cherish a dream of getting into reverse engineering, and objdump
seems to be a good and simple utility to get one’s feet wet. Thus, this simple objdump
command to display section contents as a webpage.
This file has actually evolved from small configuration to an extension: nx-search-engines, so now it’s basically an extension configuration. To use it, you need to do
(define-nyxt-user-system-and-load "nyxt-user/search-engines"
:depends-on (:nx-search-engines) (:components "search-engines.lisp"))
in your init.lisp.
This used to contain a setup-keepassxc
function to setup KeePassXC to better work with built-in password interface. Now this function is merged upstream as part of this password interface, so what’s left is just a simple re-configuration of defaults.
This is a file with all my bookmarks, Git-synced across devices. The snippet (in init.lisp) that enables it is:
(defmethod files:resolve ((profile nyxt:nyxt-profile) (file nyxt/bookmark-mode:bookmarks-file))
(uiop:parse-unix-namestring "~/.config/nyxt/bookmarks.lisp"))
This configures nx-ace to work as a default editor-mode
. To enable it, you need to use
(define-nyxt-user-system-and-load "nyxt-user/search-engines"
:depends-on (:nx-ace) (:components "ace.lisp"))
in your init.lisp.
I fell in love with Kaomojis, and I need an easy way to paste these in my browser. That’s why I made nx-kaomoji! Now I can paste over-emotional responses everywhere!
This file is simply a keybinding configuration. To enable nx-kaomoji, you need to use
(define-nyxt-user-system-and-load "nyxt-user/search-engines"
:depends-on (:nx-kaomoji) (:components "kaomoji.lisp"))
in your init.lisp.
I rely on kssytsrk/nx-freestance-handler here. It’s mostly plug-n-play, so not much configuration there.
This is based on my extension using Dark Reader to offer a good dark theme for almost any website. Does nothing special – simply configures some colors for Dark Reader to work better with my theme from style.lisp.