~thecatster/.files

5210204e2e6acc2f8b3eb81368aad02825ccac6a — Daniel Rose 3 years ago 80b2075
Add separate nyxt.org config and config directory
11 files changed, 110 insertions(+), 369 deletions(-)

A arch/.config/nyxt
D arch/.config/nyxt/auto-config.lisp
D arch/.config/nyxt/init.lisp
A artix/.config/nyxt
D artix/.config/nyxt/auto-config.lisp
D artix/.config/nyxt/init.lisp
D artix/.config/nyxt/keymap.lisp
R artix/.config/nyxt/colorscheme.lisp => nyxt.org
R arch/.config/nyxt/colorscheme.lisp => nyxt/colorscheme.lisp
R arch/.config/nyxt/keymap.lisp => nyxt/keymap.lisp
M systems.org
A arch/.config/nyxt => arch/.config/nyxt +1 -0
@@ 0,0 1,1 @@
/home/danya/.files/nyxt
\ No newline at end of file

D arch/.config/nyxt/auto-config.lisp => arch/.config/nyxt/auto-config.lisp +0 -2
@@ 1,2 0,0 @@
(DEFINE-CONFIGURATION (BUFFER WEB-BUFFER)
  ((DEFAULT-MODES (APPEND '(NYXT::EMACS-MODE) %SLOT-DEFAULT%))))

D arch/.config/nyxt/init.lisp => arch/.config/nyxt/init.lisp +0 -76
@@ 1,76 0,0 @@
;; Custom configuration for Nyxt
(in-package #:nyxt-user)

(dolist (file (list (nyxt-init-file "keymap.lisp")
                    (nyxt-init-file "colorscheme.lisp")))
  (load file))
;; (load-after-system :nx-kaomoji (nyxt-init-file "kaomoji.lisp"))
;; (load-after-system :nx-ace (nyxt-init-file "ace.lisp"))
;; (load-after-system :slynk (nyxt-init-file "slynk.lisp"))

;; Don't popup to restore history; just do it.
(define-configuration browser
    ((session-restore-prompt :always-restore)))

;; Set default actions for certain URLs such as opening files in Emacs
(defun old-reddit-handler (request-data)
  (let ((url (url request-data)))
    (setf (url request-data)
          (if (search "reddit.com" (quri:uri-host url))
              (progn
                (setf (quri:uri-host url) "old.reddit.com")
                (log:info "Switching to old Reddit: ~s" (render-url url))
                url)
              url)))
  request-data)

(define-configuration web-buffer
  ((request-resource-hook
    (hooks:add-hook %slot-default% (make-handler-resource #'old-reddit-handler)))))

(define-configuration buffer
    ((request-resource-hook (reduce #'hooks:add-hook
                                    (list (url-dispatching-handler
                                           'transmission-magnet-links
                                           (match-scheme "magnet")
                                           "transmission-remote --add ~a")
                                          (url-dispatching-handler
                                           'emacs-file
                                           (match-scheme "file")
                                           (lambda (url)
                                             (uiop:launch-program
                                              `("emacs" ,(quri:uri-path url)))
                                             nil)))
                                    :initial-value %slot-default%))))

(define-configuration (buffer internal-buffer editor-buffer prompt-buffer)
    ((default-modes `(emacs-mode ,@%slot-default%))
     (download-engine :renderer)
     (conservative-word-move t)))

(define-configuration (web-buffer nosave-buffer)
    ((default-modes `(emacs-mode
                      blocker-mode
                      reduce-tracking-mode
                      ;; force-https-mode Causing issues, can't temporarily disable this.
                      certificate-exception-mode
                      auto-mode
                      ,@%slot-default%))))

(setf nyxt/certificate-exception-mode:*default-certificate-exceptions*
      '("192.168.1.1" "192.168.1.36" "192.168.1.201" "192.168.1.200"))

(define-configuration prompt-buffer
    ((hide-single-source-header-p t)))

(define-configuration nosave-buffer
    ((default-modes `(proxy-mode ,@%slot-default%))))

(define-configuration nyxt/web-mode:web-mode
    ;; QWERTY home row.
    ((nyxt/web-mode:hints-alphabet "DSJKHLFAGNMXCWEIO")
     (glyph "ω")))

(define-configuration nyxt/auto-mode:auto-mode
    ((nyxt/auto-mode:prompt-on-mode-toggle t)
     (glyph "α")))

A artix/.config/nyxt => artix/.config/nyxt +1 -0
@@ 0,0 1,1 @@
/home/danya/.files/nyxt
\ No newline at end of file

D artix/.config/nyxt/auto-config.lisp => artix/.config/nyxt/auto-config.lisp +0 -2
@@ 1,2 0,0 @@
(DEFINE-CONFIGURATION (BUFFER WEB-BUFFER)
  ((DEFAULT-MODES (APPEND '(NYXT::EMACS-MODE) %SLOT-DEFAULT%))))

D artix/.config/nyxt/init.lisp => artix/.config/nyxt/init.lisp +0 -76
@@ 1,76 0,0 @@
;; Custom configuration for Nyxt
(in-package #:nyxt-user)

(dolist (file (list (nyxt-init-file "keymap.lisp")
                    (nyxt-init-file "colorscheme.lisp")))
  (load file))
;; (load-after-system :nx-kaomoji (nyxt-init-file "kaomoji.lisp"))
;; (load-after-system :nx-ace (nyxt-init-file "ace.lisp"))
;; (load-after-system :slynk (nyxt-init-file "slynk.lisp"))

;; Don't popup to restore history; just do it.
(define-configuration browser
    ((session-restore-prompt :always-restore)))

;; Set default actions for certain URLs such as opening files in Emacs
(defun old-reddit-handler (request-data)
  (let ((url (url request-data)))
    (setf (url request-data)
          (if (search "reddit.com" (quri:uri-host url))
              (progn
                (setf (quri:uri-host url) "old.reddit.com")
                (log:info "Switching to old Reddit: ~s" (render-url url))
                url)
              url)))
  request-data)

(define-configuration web-buffer
  ((request-resource-hook
    (hooks:add-hook %slot-default% (make-handler-resource #'old-reddit-handler)))))

(define-configuration buffer
    ((request-resource-hook (reduce #'hooks:add-hook
                                    (list (url-dispatching-handler
                                           'transmission-magnet-links
                                           (match-scheme "magnet")
                                           "transmission-remote --add ~a")
                                          (url-dispatching-handler
                                           'emacs-file
                                           (match-scheme "file")
                                           (lambda (url)
                                             (uiop:launch-program
                                              `("emacs" ,(quri:uri-path url)))
                                             nil)))
                                    :initial-value %slot-default%))))

(define-configuration (buffer internal-buffer editor-buffer prompt-buffer)
    ((default-modes `(emacs-mode ,@%slot-default%))
     (download-engine :renderer)
     (conservative-word-move t)))

(define-configuration (web-buffer nosave-buffer)
    ((default-modes `(emacs-mode
                      blocker-mode
                      reduce-tracking-mode
                      ;; force-https-mode Causing issues, can't temporarily disable this.
                      certificate-exception-mode
                      auto-mode
                      ,@%slot-default%))))

(setf nyxt/certificate-exception-mode:*default-certificate-exceptions*
      '("192.168.1.1" "192.168.1.36" "192.168.1.201" "192.168.1.200"))

(define-configuration prompt-buffer
    ((hide-single-source-header-p t)))

(define-configuration nosave-buffer
    ((default-modes `(proxy-mode ,@%slot-default%))))

(define-configuration nyxt/web-mode:web-mode
    ;; QWERTY home row.
    ((nyxt/web-mode:hints-alphabet "DSJKHLFAGNMXCWEIO")
     (glyph "ω")))

(define-configuration nyxt/auto-mode:auto-mode
    ((nyxt/auto-mode:prompt-on-mode-toggle t)
     (glyph "α")))

D artix/.config/nyxt/keymap.lisp => artix/.config/nyxt/keymap.lisp +0 -1
@@ 1,1 0,0 @@
;; Extra keybindings to Emacs keymap for Nyxt

R artix/.config/nyxt/colorscheme.lisp => nyxt.org +104 -0
@@ 1,3 1,100 @@
#+TITLE: Nyxt Config
#+DESCRIPTION: The configuration for my systems using Arch Linux.
#+STARTUP: overview
#+LANGUAGE: en
#+OPTIONS: num:nil
#+ATTR_HTML: :style margin-left: auto; margin-right: auto;
#+PROPERTY: header-args :tangle nyxt/init.lisp :tangle-mode (identity #o444) :mkdirp yes

Configuration for Nyxt browser, my favourite non-Firefox browser. Once
WebExtensions are available, this will definitely be my main browser.

* ~init.lisp~

#+BEGIN_SRC lisp
;; Custom configuration for Nyxt
(in-package #:nyxt-user)

(dolist (file (list (nyxt-init-file "keymap.lisp")
                    (nyxt-init-file "colorscheme.lisp")))
  (load file))
;; (load-after-system :nx-kaomoji (nyxt-init-file "kaomoji.lisp"))
;; (load-after-system :nx-ace (nyxt-init-file "ace.lisp"))
;; (load-after-system :slynk (nyxt-init-file "slynk.lisp"))

;; Don't popup to restore history; just do it.
(define-configuration browser
    ((session-restore-prompt :always-restore)))

;; Set default actions for certain URLs such as opening files in Emacs
(defun old-reddit-handler (request-data)
  (let ((url (url request-data)))
    (setf (url request-data)
          (if (search "reddit.com" (quri:uri-host url))
              (progn
                (setf (quri:uri-host url) "old.reddit.com")
                (log:info "Switching to old Reddit: ~s" (render-url url))
                url)
              url)))
  request-data)

(define-configuration web-buffer
  ((request-resource-hook
    (hooks:add-hook %slot-default% (make-handler-resource #'old-reddit-handler)))))

(define-configuration buffer
    ((request-resource-hook (reduce #'hooks:add-hook
                                    (list (url-dispatching-handler
                                           'transmission-magnet-links
                                           (match-scheme "magnet")
                                           "transmission-remote --add ~a")
                                          (url-dispatching-handler
                                           'emacs-file
                                           (match-scheme "file")
                                           (lambda (url)
                                             (uiop:launch-program
                                              `("emacs" ,(quri:uri-path url)))
                                             nil)))
                                    :initial-value %slot-default%))))

(define-configuration (buffer internal-buffer editor-buffer prompt-buffer)
    ((default-modes `(emacs-mode ,@%slot-default%))
     (download-engine :renderer)
     (conservative-word-move t)))

(define-configuration (web-buffer nosave-buffer)
    ((default-modes `(emacs-mode
                      blocker-mode
                      reduce-tracking-mode
                      ;; force-https-mode Causing issues, can't temporarily disable this.
                      certificate-exception-mode
                      auto-mode
                      ,@%slot-default%))))

(setf nyxt/certificate-exception-mode:*default-certificate-exceptions*
      '("192.168.1.1" "192.168.1.36" "192.168.1.201" "192.168.1.200" "patsa.org"))

(define-configuration prompt-buffer
    ((hide-single-source-header-p t)))

(define-configuration nosave-buffer
    ((default-modes `(proxy-mode ,@%slot-default%))))

(define-configuration nyxt/web-mode:web-mode
    ;; QWERTY home row.
    ((nyxt/web-mode:hints-alphabet "DSJKHLFAGNMXCWEIO")
     (glyph "ω")))

(define-configuration nyxt/auto-mode:auto-mode
    ((nyxt/auto-mode:prompt-on-mode-toggle t)
     (glyph "α")))
#+END_SRC

* ~colorscheme.lisp~
A quick colorscheme I slapped together to match my Emacs theme for
Nyxt.

#+BEGIN_SRC lisp :tangle nyxt/colorscheme.lisp
;; Custom colourscheme for Nyxt
(in-package #:nyxt-user)



@@ 110,3 207,10 @@
                :background-color "#282C34 !important"
                :background-image "none !important"
                :color "#98C379 !important"))))))
#+END_SRC

* ~keymap.lisp~

#+BEGIN_SRC lisp :tangle nyxt/keymap.lisp
;; Extra keybindings to Emacs keymap for Nyxt
#+END_SRC

R arch/.config/nyxt/colorscheme.lisp => nyxt/colorscheme.lisp +0 -0
R arch/.config/nyxt/keymap.lisp => nyxt/keymap.lisp +0 -0
M systems.org => systems.org +4 -212
@@ 1,4 1,4 @@
#+TITLE: Arch Systems Config
#+TITLE: Arch-based Systems Config
#+AUTHOR: Daniel Rose (The Catster)
#+DESCRIPTION: The configuration for my systems using Arch Linux.
#+STARTUP: overview


@@ 10,7 10,9 @@

Since I do not use Guix as my main OS anymore, this is structured a
bit differently. Still in a literate manner, I list out all my
packages in "pseudo-manifests" and install them by piping into ~paru~.
packages in "pseudo-manifests" and install them by piping into ~paru~
(or whatever package manager I'll be using for
Arch/Artix/Parabola/Hyperbola in the future :D).

This still works in a similar manner, and is better than nothing!



@@ 398,216 400,6 @@ sddm
sddm-kcm
#+END_SRC

* Nyxt
Configuration for Nyxt browser, my favourite non-Firefox browser. Once
WebExtensions are available, this will definitely be my main browser.

** ~init.lisp~

#+BEGIN_SRC lisp :tangle .config/nyxt/init.lisp
;; Custom configuration for Nyxt
(in-package #:nyxt-user)

(dolist (file (list (nyxt-init-file "keymap.lisp")
                    (nyxt-init-file "colorscheme.lisp")))
  (load file))
;; (load-after-system :nx-kaomoji (nyxt-init-file "kaomoji.lisp"))
;; (load-after-system :nx-ace (nyxt-init-file "ace.lisp"))
;; (load-after-system :slynk (nyxt-init-file "slynk.lisp"))

;; Don't popup to restore history; just do it.
(define-configuration browser
    ((session-restore-prompt :always-restore)))

;; Set default actions for certain URLs such as opening files in Emacs
(defun old-reddit-handler (request-data)
  (let ((url (url request-data)))
    (setf (url request-data)
          (if (search "reddit.com" (quri:uri-host url))
              (progn
                (setf (quri:uri-host url) "old.reddit.com")
                (log:info "Switching to old Reddit: ~s" (render-url url))
                url)
              url)))
  request-data)

(define-configuration web-buffer
  ((request-resource-hook
    (hooks:add-hook %slot-default% (make-handler-resource #'old-reddit-handler)))))

(define-configuration buffer
    ((request-resource-hook (reduce #'hooks:add-hook
                                    (list (url-dispatching-handler
                                           'transmission-magnet-links
                                           (match-scheme "magnet")
                                           "transmission-remote --add ~a")
                                          (url-dispatching-handler
                                           'emacs-file
                                           (match-scheme "file")
                                           (lambda (url)
                                             (uiop:launch-program
                                              `("emacs" ,(quri:uri-path url)))
                                             nil)))
                                    :initial-value %slot-default%))))

(define-configuration (buffer internal-buffer editor-buffer prompt-buffer)
    ((default-modes `(emacs-mode ,@%slot-default%))
     (download-engine :renderer)
     (conservative-word-move t)))

(define-configuration (web-buffer nosave-buffer)
    ((default-modes `(emacs-mode
                      blocker-mode
                      reduce-tracking-mode
                      ;; force-https-mode Causing issues, can't temporarily disable this.
                      certificate-exception-mode
                      auto-mode
                      ,@%slot-default%))))

(setf nyxt/certificate-exception-mode:*default-certificate-exceptions*
      '("192.168.1.1" "192.168.1.36" "192.168.1.201" "192.168.1.200"))

(define-configuration prompt-buffer
    ((hide-single-source-header-p t)))

(define-configuration nosave-buffer
    ((default-modes `(proxy-mode ,@%slot-default%))))

(define-configuration nyxt/web-mode:web-mode
    ;; QWERTY home row.
    ((nyxt/web-mode:hints-alphabet "DSJKHLFAGNMXCWEIO")
     (glyph "ω")))

(define-configuration nyxt/auto-mode:auto-mode
    ((nyxt/auto-mode:prompt-on-mode-toggle t)
     (glyph "α")))
#+END_SRC

** ~colorscheme.lisp~
A quick colorscheme I slapped together to match my Emacs theme for
Nyxt.

#+BEGIN_SRC lisp :tangle .config/nyxt/colorscheme.lisp
;; Custom colourscheme for Nyxt
(in-package #:nyxt-user)

(define-configuration window
  ((message-buffer-style
    (str:concat
     %slot-default%
     (cl-css:css
      '((body
         :background-color "#282C34"
         :color "white")))))))

(define-configuration prompt-buffer
  ((style (str:concat
           %slot-default%
           (cl-css:css
            '((body
               :background-color "#282C34"
               :color "white")
              ("#prompt-area"
               :background-color "#282C34")
              ("#input"
               :background-color "white")
              (".source-name"
               :color "#282C34"
               :background-color "#98C379")
              (".source-content"
               :background-color "#282C34")
              (".source-content th"
               :border "1px solid #98C379"
               :background-color "#282C34")
              ("#selection"
               :background-color "#B971CF"
               :color "#282C34")
              (.marked :background-color "#B971CF"
                       :font-weight "bold"
                       :color "white")
              (.selected :background-color "#282C34"
                         :color "white")))))))

(define-configuration internal-buffer
  ((style
    (str:concat
     %slot-default%
     (cl-css:css
      '((title
         :color "#B971CF")
        (body
         :background-color "#282C34"
         :color "lightgray")
        (hr
         :color "darkgray")
        (a
         :color "#98C379")
        (.button
         :color "#282C34"
         :background-color "#98C379")))))))

(define-configuration nyxt/history-tree-mode:history-tree-mode
  ((nyxt/history-tree-mode::style
    (str:concat
     %slot-default%
     (cl-css:css
      '((body
         :background-color "#282C34"
         :color "lightgray")
        (hr
         :color "darkgray")
        (a
         :color "#98C379")
        ("ul li::before"
         :background-color "white")
        ("ul li::after"
         :background-color "white")
        ("ul li:only-child::before"
         :background-color "white")))))))

(define-configuration nyxt/web-mode:web-mode
  ((nyxt/web-mode:highlighted-box-style
    (cl-css:css
     '((".nyxt-hint.nyxt-highlight-hint"
        :background "#B971CF")))
    :documentation "The style of highlighted boxes, e.g. link hints.")))

(define-configuration status-buffer
  ((style (str:concat
           %slot-default%
           (cl-css:css
            '(("#controls"
               :border-top "1px solid white")
              ("#url"
               :background-color "#282C34"
               :color "white"
               :border-top "1px solid white")
              ("#modes"
               :background-color "#282C34"
               :border-top "1px solid white")
              ("#tabs"
               :background-color "#282C34"
               :color "#282C34"
               :border-top "1px solid white")))))))

(define-configuration nyxt/style-mode:dark-mode
  ((style #.(cl-css:css
             '((*
                :background-color "#282C34 !important"
                :background-image "none !important"
                :color "white")
               (a
                :background-color "#282C34 !important"
                :background-image "none !important"
                :color "#98C379 !important"))))))
#+END_SRC

** ~keymap.lisp~

#+BEGIN_SRC lisp :tangle .config/nyxt/keymap.lisp
;; Extra keybindings to Emacs keymap for Nyxt
#+END_SRC

* Profile Management
By having separate "manifests," I can copy the concept of the GNU Guix
profiles. This doesn't work quite the same, but is better than