Skip to content

aartaka/nyxt-config

Repository files navigation

My Nyxt Configuration Files

WARNING: I no longer use Nyxt, so this config is likely to rot and get wildly irrelevant. Proceed with caution.

The hub of configuration (config.lisp)

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.

Some custom keybindings (keybinds.lisp)

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!

Alternative format for status-buffer (status.lisp)

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.

Styling (style.lisp)

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).

Additional commands (commands.lisp)

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.

Hacky hsplit (hsplit.lisp)

It’s too useful to have hsplit to not implement a hacky one based on panel buffers :P

A barebones PDF text reader (unpdf.lisp)

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

Experiments with objdump (objdump.lisp)

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.

Lots of search engines for different things (search-engines.lisp)

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.

A KeePassXC configuration (passwd.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.

Bookmarks relocation (bookmarks.lisp)

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"))

Ace editor inside Nyxt (ace.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.

Easy-to-paste Kaomojis (kaomoji.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.

Redirections to free alternatives for Twitter/YouTube

I rely on kssytsrk/nx-freestance-handler here. It’s mostly plug-n-play, so not much configuration there.

A reasonable dark theme via Dark Reader

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.

About

My configuration files for Nyxt browser.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published