aartaka / nyxt-config

My configuration files for Nyxt browser.
BSD 2-Clause "Simplified" License
113 stars 14 forks source link
dotfiles nyxt

+TITLE:My Nyxt Configuration Files

WARNING: [[https://www.aartaka.me.eu.org/nyxt-to-surf][I no longer use Nyxt]], so this config is likely to rot and get wildly irrelevant. Proceed with caution.

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 [[https://github.com/aartaka/laconia-theme][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 is a file with all my bookmarks, Git-synced across devices. The snippet (in init.lisp) that enables it is:

+begin_src lisp

(defmethod files:resolve ((profile nyxt:nyxt-profile) (file nyxt/bookmark-mode:bookmarks-file)) (uiop:parse-unix-namestring "~/.config/nyxt/bookmarks.lisp"))

+end_src

This configures [[https://github.com/atlas-engineer/nx-ace][nx-ace]] to work as a default =editor-mode=. To enable it, you need to use

+BEGIN_SRC lisp

(define-nyxt-user-system-and-load "nyxt-user/search-engines" :depends-on (:nx-ace) (:components "ace.lisp"))

+END_SRC

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 [[https://github.com/aartaka/nx-kaomoji][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

+BEGIN_SRC lisp

(define-nyxt-user-system-and-load "nyxt-user/search-engines" :depends-on (:nx-kaomoji) (:components "kaomoji.lisp"))

+END_SRC

in your init.lisp.