diff options
author | Thanos Apollo <[email protected]> | 2023-10-16 20:45:23 +0300 |
---|---|---|
committer | Thanos Apollo <[email protected]> | 2023-10-16 20:45:23 +0300 |
commit | fdd11abce2a0205bbc96077ca9c4cf1e85e8b98e (patch) | |
tree | 3edfe8ed0e07d3c3951676c2543a2f9d2894d0c1 /.config/nyxt/config.lisp | |
parent | fe9b8acaa2c05665d51695f3b3ce10b5a6fcc2d7 (diff) |
Remove nyxt
Diffstat (limited to '.config/nyxt/config.lisp')
-rw-r--r-- | .config/nyxt/config.lisp | 228 |
1 files changed, 0 insertions, 228 deletions
diff --git a/.config/nyxt/config.lisp b/.config/nyxt/config.lisp deleted file mode 100644 index 32e4b17..0000000 --- a/.config/nyxt/config.lisp +++ /dev/null @@ -1,228 +0,0 @@ -(in-package #:nyxt-user) - -;;; Reset ASDF registries to allow loading Lisp systems from -;;; everywhere. -#+nyxt-3 (reset-asdf-registries) - -;;; Load quicklisp. Not sure it works. -#-quicklisp -(let ((quicklisp-init - (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) - (when (probe-file quicklisp-init) - (load quicklisp-init))) - -(defvar *web-buffer-modes* - '(:emacs-mode -; :blocker-mode :force-https-mode - :reduce-tracking-mode - :user-script-mode :bookmarklets-mode) - "The modes to enable in any web-buffer by default. -Extension files (like dark-reader.lisp) are to append to this list. - -Why the variable? Because it's too much hassle copying it everywhere.") - -;;; Loading files from the same directory. -(define-nyxt-user-system-and-load nyxt-user/basic-config - :components ("keybinds" "status" "commands" "hsplit" "style" "unpdf" "objdump" "github")) - -;;; Loading extensions and third-party-dependent configs. See the -;;; matching files for where to find those extensions. -(defmacro defextsystem (system &optional file) - "Helper macro to load configuration for extensions. -Loads a newly-generated ASDF system depending on SYSTEM. -FILE, if provided, is loaded after the generated system successfully -loads." - `(define-nyxt-user-system-and-load ,(gensym "NYXT-USER/") - :depends-on (,system) ,@(when file - `(:components (,file))))) - -;(defextsystem :nx-search-engines "search-engines") -(defextsystem :nx-kaomoji "kaomoji") -(defextsystem :nx-ace "ace.lisp") -(defextsystem :nx-fruit) -(defextsystem :nx-freestance-handler "freestance") -(defextsystem :nx-dark-reader "dark-reader") - -(defvar *my-search-engines* - (list - '("google" "https://google.com/search?q=~a" "https://google.com") - '("doi" "https://dx.doi.org/~a" "https://dx.doi.org/") - '("duck" "https://duckduckgo.com/?q=~a" "https://duckudckgo.com") - ;'("thanos" "https://search.thanosapollo.com/searxng/search?q=~a") - ) - "List of search engines.") - -(define-configuration context-buffer - "Go through the search engines above and make-search-engine out of them." - ((search-engines - (append %slot-default% - (mapcar - (lambda (engine) (apply 'make-search-engine engine)) - *my-search-engines*))))) - -(define-configuration browser - ;; Enable --remote --eval code evaluation. - ((remote-execution-p t) - (external-editor-program - (list "emacsclient" "-cn" "-a" "" "-F" - "((font . \"JetBrains Mono\") (vertical-scroll-bars) (tool-bar-lines) (menu-bar-lines))")))) - -(define-configuration :autofill-mode - "Setting up autofills." - ((autofills (flet ((autofill (name fill) - (nyxt/mode/autofill:make-autofill :name name :fill fill)) - (done (text) - (lambda () - (uiop:strcat text " in " (trivial-clipboard:text))))) - (list (autofill "ellipsis" "…") - (autofill "naive" "naïve") - (autofill "andre" "André") - (autofill "ala" "a-lá") - (autofill "let" "laisser-faire") - (autofill "voila" "Et voilà!") - (autofill "done" (done "Done")) - (autofill "fixed" (done "Fixed")) - (autofill "reverted" (done "Reverted"))))))) - -;;; Those are settings that every type of buffer should share. -(define-configuration (:modable-buffer :prompt-buffer :editor-buffer) - "Set up Emacs keybindings everywhere possible. - -If you're the VI person, then use this: -(define-configuration :web-buffer - ((default-modes (append (list :vi-normal-mode) %slot-value%)))) - -You probably want to stay with CUA in :prompt-buffer, because it's too -weird using it with VI bindings. But if you're feeling risky, then: -(define-configuration :prompt-buffer - ((default-modes (append (list :vi-insert-mode) %slot-value%))))" - ((default-modes `(:emacs-mode ,@%slot-value%)))) - -(define-configuration :prompt-buffer - "Make the attribute widths adjust to the content in them. - -It's not exactly necessary on master, because there are more or less -intuitive default widths, but these are sometimes inefficient (and -note that I made this feature so I want to have it :P)." - ((dynamic-attribute-width-p t))) - -(define-configuration :web-buffer - ((download-engine - :renderer - :doc "This overrides download engine to use WebKit instead of Nyxt-native -Dexador-based download engine. I don't remember why I switched, -though.") - (search-always-auto-complete-p - nil - :doc "I don't like search completion when I don't need it.") - (global-history-p - nil - :doc "It was disabled after 2.2.4, while being a useful feature. -I'm forcing it here, because I'm getting lost in buffer-local -histories otherwise..."))) - -(define-configuration :prompt-buffer - ((hide-single-source-header-p - t - :doc "This is to hide the header is there's only one source. -There also used to be other settings to make prompt-buffer a bit -more minimalist, but those are internal APIs :("))) - -(define-configuration :web-buffer - "Basic modes setup for web-buffer." - ((default-modes `(,@*web-buffer-modes* ,@%slot-value%)))) - -(define-configuration :browser - "Set new buffer URL (a.k.a. start page, new tab page)." - ((default-new-buffer-url (quri:uri "nyxt:nyxt/mode/repl:repl")))) - -(define-configuration :nosave-buffer - "Enable proxy in nosave (private, incognito) buffers." - ((default-modes `(:proxy-mode ,@*web-buffer-modes* ,@%slot-value%)))) - -(define-configuration :hint-mode - "Set up QWERTY home row as the hint keys." - ((hints-alphabet "DSJKHLFAGNMXCWEIO"))) - -(define-configuration :history-mode - ((backtrack-to-hubs-p - t - :doc "I often browse with \"hub\" places, like GitHub notifications page. -Having all the links it leads to to be forward children of it is useful. -The feature is slightly experimental, though."))) - -(define-configuration :modable-buffer - "This makes auto-rules to prompt me about remembering this or that mode when I toggle it." - ((prompt-on-mode-toggle-p t))) - -(defmethod ffi-buffer-make :after ((buffer nyxt/renderer/gtk::gtk-buffer)) - "Setting WebKit-specific settings. -WARNING: Not exactly the best way to configure Nyxt, because it relies -on internal APIs and CFFI... - -See -https://webkitgtk.org/reference/webkit2gtk/stable/WebKitSettings.html -for the full list of settings you can tweak this way." - (when (slot-boundp buffer 'nyxt/renderer/gtk::gtk-object) - (let* ((settings (webkit:webkit-web-view-get-settings - (nyxt/renderer/gtk::gtk-object buffer)))) - (setf - ;; Resizeable textareas. It's not perfect, but still a cool feature to have. - (webkit:webkit-settings-enable-resizable-text-areas settings) t - ;; Write console errors/warnings to the shell, to ease debugging. - (webkit:webkit-settings-enable-write-console-messages-to-stdout settings) t - ;; "Inspect element" context menu option available at any moment. - (webkit:webkit-settings-enable-developer-extras settings) t - ;; Enable WebRTC. - (webkit:webkit-settings-enable-media-stream settings) t - ;; Use Cantarell-18 as the default font. - (webkit:webkit-settings-default-font-family settings) "JetBrains Mono" - (webkit:webkit-settings-default-font-size settings) 18 - ;; Use Hack-17 as the monospace font. - (webkit:webkit-settings-monospace-font-family settings) "Hack" - (webkit:webkit-settings-default-monospace-font-size settings) 17 - ;; Use Unifont for pictograms. - (webkit:webkit-settings-pictograph-font-family settings) "Material Icons"))) - ;; Set the view background to black. - (cffi:foreign-funcall - "webkit_web_view_set_background_color" - :pointer (g:pointer (nyxt/renderer/gtk:gtk-object buffer)) - ;; GdkRgba is simply an array of four doubles. - :pointer (cffi:foreign-alloc - :double - :count 4 - ;; red green blue alpha - :initial-contents '(0d0 0d0 0d0 1d0)))) - -(defmethod files:resolve ((profile nyxt:nyxt-profile) (file nyxt/mode/bookmark:bookmarks-file)) - "Reroute the bookmarks to the config directory." - #p"~/.config/nyxt/bookmarks.lisp") - -(define-configuration :reduce-tracking-mode - ((query-tracking-parameters - (append '("utm_source" "utm_medium" "utm_campaign" "utm_term" "utm_content") - %slot-value%) - :doc "This is to strip UTM-parameters off all the links. -Upstream Nyxt doesn't have it because it may break some websites.") - (preferred-user-agent - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" - :doc "Mimic Chrome on MacOS."))) - -(unless nyxt::*run-from-repl-p* - (define-configuration :browser - "Enable Nyxt-internal debugging, but only in binary mode and after startup if done. -There are conditions raised at startup, and I don't want to catch -those, hanging my Nyxt)." - ((after-startup-hook (hooks:add-hook %slot-value% #'toggle-debug-on-error))))) - -;; (defun request-log (request-data) -;; (log:debug "~:@(~a~) ~a (~@[~*toplevel~]~@[~*resource~]) ~{~&~a~}" -;; (http-method request-data) (url request-data) -;; (toplevel-p request-data) (resource-p request-data) -;; (request-headers request-data)) -;; request-data) - -;; (define-configuration :web-buffer -;; "Request debugging, clutters the shell real fast." -;; ((request-resource-hook -;; (hooks:add-hook %slot-value% #'request-log)))) |