makin' moves to sync computers
This commit is contained in:
38
archive/borgmatic/config.yml
Normal file
38
archive/borgmatic/config.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
location:
|
||||
source_directories:
|
||||
- /home/*
|
||||
repositories:
|
||||
- ssh://opal@server/data/opal/media/backups/laptop
|
||||
exclude_patterns:
|
||||
- /home/*/.cache
|
||||
- /home/*/.var
|
||||
- /home/*/.config/emacs
|
||||
- /home/*/.mozilla
|
||||
- /home/*/.thunderbird
|
||||
- /home/*/.w3m
|
||||
- /home/*/.ansible
|
||||
- /home/*/.keychain
|
||||
- /home/*/.pki
|
||||
|
||||
storage:
|
||||
encryption_passcommand: gopass show -o backups/laptop
|
||||
ssh_command: ssh -i ~/.ssh/ry_ecdsa -p 46668
|
||||
|
||||
retention:
|
||||
keep_daily: 7
|
||||
keep_weekly: 4
|
||||
keep_monthly: 6
|
||||
keep_yearly: 1
|
||||
|
||||
consistency:
|
||||
checks:
|
||||
- name: repository
|
||||
check_last: 3
|
||||
|
||||
hooks:
|
||||
before_backup:
|
||||
- echo "Starting a backup."
|
||||
after_backup:
|
||||
- echo "Finished a backup."
|
||||
on_error:
|
||||
- echo "Error during backup."
|
||||
316
archive/doom/config.el
Normal file
316
archive/doom/config.el
Normal file
@@ -0,0 +1,316 @@
|
||||
;;(setq fancy-splash-image "~/.config/doom/splash.png")
|
||||
|
||||
;; Clean up starting screen
|
||||
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-shortmenu)
|
||||
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-banner)
|
||||
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-footer)
|
||||
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-loaded)
|
||||
(add-hook! '+doom-dashboard-mode-hook (hide-mode-line-mode 1) (hl-line-mode -1))
|
||||
(setq-hook! '+doom-dashboard-mode-hook evil-normal-state-cursor (list nil))
|
||||
|
||||
;; Set name & e-mail
|
||||
(setq user-full-name "opal"
|
||||
user-mail-address "ry.orlando@proton.me")
|
||||
|
||||
;; Theme & background color
|
||||
(load-theme 'doom-solarized-dark t)
|
||||
;;(set-face-background 'default "#E8D8B0")
|
||||
|
||||
;; Lockfiles
|
||||
(setq create-lockfiles nil)
|
||||
|
||||
;; Remove line numbers from specific modes
|
||||
(dolist (mode '(org-mode-hook
|
||||
term-mode-hook
|
||||
shell-mode-hook
|
||||
eshell-mode-hook))
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
|
||||
;; Font configuration
|
||||
(set-face-attribute 'default nil :font "Monospace" :height 170)
|
||||
(set-face-attribute 'fixed-pitch nil :font "Monospace" :height 170)
|
||||
(set-face-attribute 'variable-pitch nil :font "ETBembo" :height 170)
|
||||
|
||||
(defun opal/org-font-setup ()
|
||||
;; Replace list hyphen with dot
|
||||
(font-lock-add-keywords 'org-mode
|
||||
'(("^ *\\([-]\\) "
|
||||
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1)
|
||||
"•"))))))
|
||||
|
||||
;; Set faces for heading levels
|
||||
(dolist (face '((org-level-1 . 1.2)
|
||||
(org-level-2 . 1.1)
|
||||
(org-level-3 . 1.05)
|
||||
(org-level-4 . 1.0)
|
||||
(org-level-5 . 1.1)
|
||||
(org-level-6 . 1.1)
|
||||
(org-level-7 . 1.1)
|
||||
(org-level-8 . 1.1)))
|
||||
(set-face-attribute (car face) nil :font "ETBembo" :weight 'regular :height (cdr face)))
|
||||
|
||||
;; Set properties and scheduling faces to inherit variable-pitch and be smaller
|
||||
;; Comment out these lines because mixed-pitch-mode will handle these.
|
||||
(set-face-attribute 'org-property-value nil :inherit 'variable-pitch :height 150)
|
||||
(set-face-attribute 'org-special-keyword nil :inherit 'variable-pitch :height 150)
|
||||
(set-face-attribute 'org-scheduled-today nil :inherit 'variable-pitch :height 150)
|
||||
(set-face-attribute 'org-drawer nil :inherit 'variable-pitch :height 150)
|
||||
(set-face-attribute 'org-date nil :inherit 'variable-pitch :height 150)
|
||||
|
||||
;; Ensure that all agenda items use fixed-pitch font
|
||||
(custom-set-faces
|
||||
'(org-agenda-date-today ((t (:inherit fixed-pitch :weight bold))))
|
||||
'(org-agenda-date ((t (:inherit fixed-pitch))))
|
||||
'(org-agenda-date-weekend ((t (:inherit fixed-pitch :weight bold))))
|
||||
'(org-agenda-done ((t (:inherit fixed-pitch :strike-through t))))
|
||||
'(org-agenda-dimmed-todo-face ((t (:inherit fixed-pitch))))
|
||||
'(org-agenda-structure ((t (:inherit fixed-pitch))))
|
||||
'(org-scheduled ((t (:inherit fixed-pitch))))
|
||||
'(org-scheduled-today ((t (:inherit fixed-pitch))))
|
||||
'(org-scheduled-previously ((t (:inherit fixed-pitch))))
|
||||
'(org-upcoming-deadline ((t (:inherit fixed-pitch))))
|
||||
'(org-deadline-announce ((t (:inherit fixed-pitch))))
|
||||
'(org-time-grid ((t (:inherit fixed-pitch)))))
|
||||
)
|
||||
|
||||
(defun opal/org-mode-setup ()
|
||||
(org-indent-mode)
|
||||
(visual-line-mode 1)
|
||||
(mixed-pitch-mode 1))
|
||||
|
||||
(use-package org
|
||||
:commands (org-capture org-agenda)
|
||||
:hook (org-mode . opal/org-mode-setup)
|
||||
:config
|
||||
(setq org-ellipsis " ▾")
|
||||
(setq org-agenda-start-with-log-mode t)
|
||||
(setq org-log-done 'time)
|
||||
(setq org-log-into-drawer t)
|
||||
(setq org-startup-folded t)
|
||||
(setq org-indent-indentation-per-level 2)
|
||||
(setq org-hide-emphasis-markers t)
|
||||
(setq org-agenda-files
|
||||
'("~/documents/org/agenda/todo.org"))
|
||||
|
||||
(require 'org-habit)
|
||||
(add-to-list 'org-modules 'org-habit)
|
||||
(setq org-habit-graph-column 60)
|
||||
|
||||
(setq org-todo-keywords
|
||||
'((sequence "NEXT(n)" "TODO(t)" "|" "DONE(d!)")
|
||||
(sequence "ACTIVE(a)" "PROJ(p)" "READY(r)" "WAIT(w)" "HOLD(h)" "BACKLOG(b)" "|" "CANC(k@)")))
|
||||
|
||||
(setq org-todo-keyword-faces
|
||||
'(("NEXT" . "red") ("TODO" . "orange") ("WAIT" . "yellow") ("DONE" . "green")))
|
||||
|
||||
(setq org-refile-targets
|
||||
'(("archive.org" :maxlevel . 1)
|
||||
("planner.org" :maxlevel . 1)))
|
||||
|
||||
;; Save Org buffers after refiling!
|
||||
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
||||
|
||||
(add-hook 'org-mode-hook #'org-make-toc-mode)
|
||||
|
||||
(setq org-agenda-custom-commands
|
||||
'(("d" "Custom Dashboard"
|
||||
;; NEXT items for today
|
||||
((tags "+TODO=\"NEXT\"+SCHEDULED=\"<+0d>\"|+DEADLINE=\"<+0d>\""
|
||||
((org-agenda-overriding-header "\nNEXT Items for Today\n"))) ; Show NEXT items scheduled or due today
|
||||
;; TODO items for today
|
||||
(tags "+TODO=\"TODO\"+SCHEDULED=\"<+0d>\"|+DEADLINE=\"<+0d>\""
|
||||
((org-agenda-overriding-header "\nTODO Items for Today\n"))) ; Show TODO items scheduled or due today
|
||||
;; DONE items for today
|
||||
(tags "+TODO=\"DONE\"+CLOSED>=\"<-3d>\""
|
||||
((org-agenda-overriding-header "\nDone Items for Today\n"))) ; Show DONE items closed today
|
||||
;; Agenda for today
|
||||
(agenda ""
|
||||
((org-agenda-span 1) ; Show only today
|
||||
(org-agenda-start-day "0d") ; Start from today
|
||||
(org-agenda-show-all-dates t) ; Ensure all dates are shown
|
||||
(org-agenda-overriding-header "\nAgenda (Today)\n")))
|
||||
;; Agenda for next 3 days (no time grid)
|
||||
(agenda ""
|
||||
((org-agenda-span 3) ; Show the next 3 days
|
||||
(org-agenda-start-day "+1d") ; Start from tomorrow
|
||||
(org-agenda-overriding-header "\nAgenda (Next 3 Days)\n")
|
||||
(org-agenda-time-grid nil))))))) ; Remove time grid
|
||||
|
||||
;; Create capture templates
|
||||
(setq org-capture-templates
|
||||
`(("t" "Tasks")
|
||||
("tw" "Work Task" entry (file+headline "~/documents/org/agenda/todo.org" "Work")
|
||||
"* TODO %?\n %U\n %i" :empty-lines 1)
|
||||
("tp" "Personal Task" entry (file+headline "~/documents/org/agenda/todo.org" "Personal")
|
||||
"* TODO %?\n %U\n %i" :empty-lines 1)
|
||||
("tb" "Backlog Task" entry (file+headline "~/documents/org/agenda/todo.org" "Backlog")
|
||||
"* BACKLOG %?\n %U\n %i" :empty-lines 1)))
|
||||
|
||||
;; Tell Org to stop indenting inside of org source blocks.
|
||||
(setq org-edit-src-content-indentation 0)
|
||||
|
||||
;; Set org agenda dir
|
||||
(setq org-directory "~/documents/org/")
|
||||
|
||||
;; Init org font setup
|
||||
(opal/org-font-setup))
|
||||
|
||||
(use-package org-bullets
|
||||
:after org
|
||||
:hook (org-mode . org-bullets-mode)
|
||||
:custom
|
||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||
|
||||
(defun opal/org-mode-visual-fill ()
|
||||
(setq visual-fill-column-width 150
|
||||
visual-fill-column-center-text t)
|
||||
(visual-fill-column-mode 1))
|
||||
|
||||
(use-package visual-fill-column
|
||||
:hook (org-mode . opal/org-mode-visual-fill))
|
||||
|
||||
;; Load languages for babel code blocks.
|
||||
(with-eval-after-load 'org
|
||||
(org-babel-do-load-languages
|
||||
'org-babel-load-languages
|
||||
'((emacs-lisp . t)
|
||||
(lisp . t)
|
||||
(python . t)
|
||||
(sql . t)))
|
||||
|
||||
(push '("conf-unix" . conf-unix) org-src-lang-modes))
|
||||
|
||||
(with-eval-after-load 'org
|
||||
(require 'org-tempo)
|
||||
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
|
||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("cl" . "src lisp"))
|
||||
(add-to-list 'org-structure-template-alist '("sql" . "src sql"))
|
||||
(add-to-list 'org-structure-template-alist '("py" . "src python")))
|
||||
|
||||
;; Programming
|
||||
(setq geiser-guile-binary "/usr/bin/guile3.0")
|
||||
|
||||
;; Playing youtube videos via mpv/yt-dlp/emms
|
||||
(defun opal/play-yt-url-at-point ()
|
||||
"Play YT link under point with EMMS/MPV/yt-dlp."
|
||||
(interactive)
|
||||
(let ((url (thing-at-point 'url t)))
|
||||
(if url
|
||||
(emms-play-url url)
|
||||
(message "No URL found at point."))))
|
||||
|
||||
(global-set-key (kbd "C-c y") 'opal/play-yt-url-at-point)
|
||||
|
||||
;; Elfeed
|
||||
(defun opal/elfeed-open-in-firefox ()
|
||||
"Open the current Elfeed entry link in Firefox."
|
||||
(interactive)
|
||||
(let ((link (elfeed-entry-link (elfeed-search-selected :single))))
|
||||
(if link
|
||||
(browse-url-firefox link)
|
||||
(message "No link to open."))))
|
||||
|
||||
(defun opal/elfeed-open-in-eww()
|
||||
"Open the current Elfeed entry link in eww."
|
||||
(interactive)
|
||||
(let ((link (elfeed-entry-link (elfeed-search-selected :single))))
|
||||
(if link
|
||||
(eww-browse-url link)
|
||||
(message "No link to open."))))
|
||||
|
||||
(defun opal/elfeed-mark-all-read ()
|
||||
"Marks all feeds in *elfeed-search* as read."
|
||||
(interactive)
|
||||
(elfeed-untag elfeed-search-entries 'unread)
|
||||
(elfeed-search-update :force)) ; redraw
|
||||
|
||||
(use-package elfeed
|
||||
:bind
|
||||
(("C-c e" . elfeed))
|
||||
:config
|
||||
;; Ensure faces are set after elfeed has loaded
|
||||
(with-eval-after-load 'elfeed
|
||||
(set-face-attribute 'elfeed-search-filter-face nil :inherit 'variable-pitch :height 200)
|
||||
;; Monospace fonts are necessary for text/column alignment in the *elfeed-search* buffer
|
||||
(set-face-attribute 'elfeed-search-title-face nil :inherit 'fixed-pitch :height 200)
|
||||
(set-face-attribute 'elfeed-search-feed-face nil :inherit 'fixed-pitch :height 200))
|
||||
|
||||
;; Set variable-pitch face for article fonts in the *elfeed-entry* buffer
|
||||
(add-hook 'elfeed-show-mode-hook
|
||||
(lambda () (buffer-face-set 'variable-pitch)))
|
||||
|
||||
;; Set default search filter
|
||||
(setq elfeed-search-filter "@2-weeks-ago +unread")
|
||||
|
||||
;; Update feeds automatically when entering Elfeed search mode
|
||||
(add-hook 'elfeed-search-mode-hook 'elfeed-update)
|
||||
|
||||
;; Evil keybindings for Elfeed
|
||||
(evil-define-key 'normal elfeed-search-mode-map
|
||||
"f" 'opal/elfeed-open-in-firefox ;; Open link in Firefox
|
||||
"e" 'opal/elfeed-open-in-eww ;; Open link in Firefox
|
||||
"r" 'opal/elfeed-mark-all-read ;; Marks all feeds as read
|
||||
"gr" 'elfeed-update ;; Refresh feeds
|
||||
"q" 'quit-window)) ;; Quit Elfeed
|
||||
|
||||
(setq create-lockfiles nil)
|
||||
|
||||
;; Make sure eww opens in it's own buffer
|
||||
(after! eww
|
||||
(set-popup-rule! "^\\*eww\\*" :ignore t))
|
||||
|
||||
(after! osm
|
||||
(set-popup-rule! "^\\*osm\\*" :ignore t))
|
||||
|
||||
;; eww
|
||||
(defun opal/eww-reddit-redirect(url)
|
||||
"Redirect reddit.com to custom URL."
|
||||
(replace-regexp-in-string "https://www.reddit.com" "https://eddrit.com" url))
|
||||
|
||||
(use-package eww
|
||||
:config
|
||||
(setq browse-url-browser-function 'eww-browse-url)
|
||||
|
||||
;; Set eww webpage title in the modeline bar instead of just *eww*
|
||||
(setq eww-auto-rename-buffer 'title)
|
||||
|
||||
;; Set privacy respecting proxies
|
||||
(setq reddit-proxy "https://eddrit.com")
|
||||
|
||||
;; Redirect reddit links to privacy respecting frontends.
|
||||
(setq eww-url-transformers '(eww-remove-tracking opal/eww-reddit-redirect))
|
||||
|
||||
;; Make sure eww opens in it's own buffer
|
||||
(after! eww
|
||||
(set-popup-rule! "^\\*eww\\*" :ignore t)))
|
||||
|
||||
;; Since I sometimes write notes in two languages, guess-language will allow for multiple language
|
||||
;; spelling checks to be done in a single buffer.
|
||||
(use-package guess-language
|
||||
:defer t
|
||||
:init (add-hook 'text-mode-hook #'guess-language-mode)
|
||||
:config
|
||||
(setq guess-language-langcodes '((en . ("en_US" "English"))
|
||||
(pt_BR . ("pt_BR" "Brazilian Portuguese")))
|
||||
guess-language-languages '(en pt_BR)
|
||||
guess-language-min-paragraph-length 45)
|
||||
:diminish guess-language-mode)
|
||||
|
||||
(setq geiser-guile-binary "/usr/bin/guile3.0")
|
||||
|
||||
(defun opal/nov-mode-setup ()
|
||||
"Configure fonts for nov.el."
|
||||
(variable-pitch-mode 1) ; Enable variable-pitch-mode
|
||||
(visual-line-mode 1) ; Enable line wrapping at word boundaries
|
||||
(setq visual-fill-column-width 150
|
||||
visual-fill-column-center-text t
|
||||
line-spacing 0.2)
|
||||
(visual-fill-column-mode 1))
|
||||
|
||||
(add-hook 'nov-mode-hook 'opal/nov-mode-setup)
|
||||
|
||||
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
|
||||
|
||||
(setq +lookup-dictionary-prefer-offline t)
|
||||
(setq dictionary-server "dict.org")
|
||||
65
archive/doom/custom.el
Normal file
65
archive/doom/custom.el
Normal file
@@ -0,0 +1,65 @@
|
||||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(ansi-color-names-vector
|
||||
["#282c34" "#ff6c6b" "#98be65" "#ECBE7B" "#51afef" "#c678dd" "#46D9FF" "#bbc2cf"])
|
||||
'(auth-source-save-behavior nil)
|
||||
'(custom-safe-themes
|
||||
'("d9a947788a4c5f7051c4ad3a3e0e9d76218209899683d3e9ed1e2aa6cd10d462" "b00cb300c114f3b971370c9ef9b6b8a347fa02b1af2aa4c02dab47eaa0ad930b" "d6d4e0512dcaae663f7bd304557d6bc8b78c576be5af9c0b62b8447fb79b5fde" "13096a9a6e75c7330c1bc500f30a8f4407bd618431c94aeab55c9855731a95e1" "48042425e84cd92184837e01d0b4fe9f912d875c43021c3bcb7eeb51f1be5710" "c5878086e65614424a84ad5c758b07e9edcf4c513e08a1c5b1533f313d1b17f1" "10e5d4cc0f67ed5cafac0f4252093d2119ee8b8cb449e7053273453c1a1eb7cc" "ffafb0e9f63935183713b204c11d22225008559fa62133a69848835f4f4a758c" "7964b513f8a2bb14803e717e0ac0123f100fb92160dcf4a467f530868ebaae3e" "f053f92735d6d238461da8512b9c071a5ce3b9d972501f7a5e6682a90bf29725" "944d52450c57b7cbba08f9b3d08095eb7a5541b0ecfb3a0a9ecd4a18f3c28948" "dad40020beea412623b04507a4c185079bff4dcea20a93d8f8451acb6afc8358" "a0415d8fc6aeec455376f0cbcc1bee5f8c408295d1c2b9a1336db6947b89dd98" "a9a67b318b7417adbedaab02f05fa679973e9718d9d26075c6235b1f0db703c8" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "b5803dfb0e4b6b71f309606587dd88651efe0972a5be16ece6a958b197caeed8" default))
|
||||
'(exwm-floating-border-color "#191b20")
|
||||
'(fci-rule-color "#5B6268")
|
||||
'(highlight-tail-colors
|
||||
((("#333a38" "#99bb66" "green")
|
||||
. 0)
|
||||
(("#2b3d48" "#46D9FF" "brightcyan")
|
||||
. 20)))
|
||||
'(jdee-db-active-breakpoint-face-colors (cons "#1B2229" "#51afef"))
|
||||
'(jdee-db-requested-breakpoint-face-colors (cons "#1B2229" "#98be65"))
|
||||
'(jdee-db-spec-breakpoint-face-colors (cons "#1B2229" "#3f444a"))
|
||||
'(objed-cursor-color "#ff6c6b")
|
||||
'(package-selected-packages '(quelpa-use-package use-package bind-key quelpa))
|
||||
'(pdf-view-midnight-colors (cons "#bbc2cf" "#282c34"))
|
||||
'(rustic-ansi-faces
|
||||
["#282c34" "#ff6c6b" "#98be65" "#ECBE7B" "#51afef" "#c678dd" "#46D9FF" "#bbc2cf"])
|
||||
'(vc-annotate-background "#282c34")
|
||||
'(vc-annotate-color-map
|
||||
(list
|
||||
(cons 20 "#98be65")
|
||||
(cons 40 "#b4be6c")
|
||||
(cons 60 "#d0be73")
|
||||
(cons 80 "#ECBE7B")
|
||||
(cons 100 "#e6ab6a")
|
||||
(cons 120 "#e09859")
|
||||
(cons 140 "#da8548")
|
||||
(cons 160 "#d38079")
|
||||
(cons 180 "#cc7cab")
|
||||
(cons 200 "#c678dd")
|
||||
(cons 220 "#d974b7")
|
||||
(cons 240 "#ec7091")
|
||||
(cons 260 "#ff6c6b")
|
||||
(cons 280 "#cf6162")
|
||||
(cons 300 "#9f585a")
|
||||
(cons 320 "#6f4e52")
|
||||
(cons 340 "#5B6268")
|
||||
(cons 360 "#5B6268")))
|
||||
'(vc-annotate-very-old-color nil))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(org-agenda-date ((t (:inherit fixed-pitch))))
|
||||
'(org-agenda-date-today ((t (:inherit fixed-pitch :weight bold))))
|
||||
'(org-agenda-date-weekend ((t (:inherit fixed-pitch :weight bold))))
|
||||
'(org-agenda-dimmed-todo-face ((t (:inherit fixed-pitch))))
|
||||
'(org-agenda-done ((t (:inherit fixed-pitch :strike-through t))))
|
||||
'(org-agenda-structure ((t (:inherit fixed-pitch))))
|
||||
'(org-deadline-announce ((t (:inherit fixed-pitch))))
|
||||
'(org-scheduled ((t (:inherit fixed-pitch))))
|
||||
'(org-scheduled-previously ((t (:inherit fixed-pitch))))
|
||||
'(org-scheduled-today ((t (:inherit fixed-pitch))))
|
||||
'(org-time-grid ((t (:inherit fixed-pitch))))
|
||||
'(org-upcoming-deadline ((t (:inherit fixed-pitch))))
|
||||
'(variable-pitch ((t (:slant normal :weight regular :height 200 :width normal :foundry "PfEd" :family "ETBembo")))))
|
||||
183
archive/doom/init.el
Normal file
183
archive/doom/init.el
Normal file
@@ -0,0 +1,183 @@
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
|
||||
:completion
|
||||
company ; the ultimate code completion backend
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
;;ivy ; a search engine for love and life
|
||||
vertico ; the search engine of the future
|
||||
|
||||
:ui
|
||||
;;deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
;;(emoji +unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
;;hydra
|
||||
;;indent-guides ; highlighted indent columns
|
||||
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||
;;minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;;nav-flash ; blink cursor line after big motions
|
||||
;;neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
||||
tabs ; a tab bar for Emacs
|
||||
;;treemacs ; a project drawer, like neotree but cooler
|
||||
;;unicode ; extended unicode support for various languages
|
||||
vc-gutter ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil +everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
;;multiple-cursors ; editing in many places at once
|
||||
;;objed ; text object editing for the innocent
|
||||
;;parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;;word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
dired ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
;;ibuffer ; interactive buffer management
|
||||
undo ; persistent, smarter undo for your inevitable mistakes
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
|
||||
:term
|
||||
eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
vterm ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
ansible
|
||||
;;biblio ; Writes a PhD for you (citation needed)
|
||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
;;docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
;;ein ; tame Jupyter notebooks with emacs
|
||||
(eval +overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
(lookup +dictionary) ; navigate your code and its documentation
|
||||
lsp ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
;;rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
;;terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||
tty ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
;;cc ; C > C++ == 1
|
||||
;;clojure ; java with a lisp
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;clojure ; java with a lisp
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
;;data ; config/data formats
|
||||
;;(dart +flutter) ; paint ui and not much else
|
||||
;;dhall
|
||||
;;elixir ; erlang done right
|
||||
;;elm ; care for a cup of TEA?
|
||||
emacs-lisp ; drown in parentheses
|
||||
;;erlang ; an elegant language for a more civilized age
|
||||
;;ess ; emacs speaks statistics
|
||||
;;factor
|
||||
;;faust ; dsp, but you get to keep your soul
|
||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
||||
;;fsharp ; ML stands for Microsoft's Language
|
||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||
;;gdscript ; the language you waited for
|
||||
;;(go +lsp) ; the hipster dialect
|
||||
;;(haskell +lsp) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ; a language you can depend on
|
||||
json ; At least it ain't XML
|
||||
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
;;latex ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
;;ledger ; be audit you can be
|
||||
;;lua ; one-based indices? one-based indices
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
org ; organize your plain life in plain text
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
(python +lsp +pyright) ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
;;solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
;;web ; the tubes
|
||||
yaml ; JSON, but readable
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
calendar
|
||||
emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
irc ; how neckbeards socialize
|
||||
(rss +org) ; emacs as an RSS reader
|
||||
;;twitter ; twitter client https://twitter.com/vnought
|
||||
|
||||
:config
|
||||
;;literate
|
||||
(default +bindings +smartparens))
|
||||
15
archive/doom/packages.el
Normal file
15
archive/doom/packages.el
Normal file
@@ -0,0 +1,15 @@
|
||||
;; Include
|
||||
(package! org-bullets)
|
||||
(package! visual-fill-column)
|
||||
(package! org-make-toc)
|
||||
(package! ef-themes)
|
||||
(package! org-drill)
|
||||
(package! pomm)
|
||||
(package! mixed-pitch)
|
||||
(package! guess-language)
|
||||
(package! sicp)
|
||||
(package! nov)
|
||||
(package! osm)
|
||||
|
||||
;; Remove
|
||||
(package! dirvish :disable t)
|
||||
BIN
archive/doom/splash.png
Normal file
BIN
archive/doom/splash.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 416 KiB |
60
archive/nvim/init.lua
Normal file
60
archive/nvim/init.lua
Normal file
@@ -0,0 +1,60 @@
|
||||
require("config.lazy")
|
||||
|
||||
vim.opt.title = true
|
||||
vim.opt.background = 'dark'
|
||||
vim.opt.guicursor = ''
|
||||
vim.opt.mouse = 'a'
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.clipboard:append('unnamedplus')
|
||||
vim.opt.showmode = false
|
||||
vim.opt.ruler = false
|
||||
vim.opt.laststatus = 0
|
||||
vim.opt.showcmd = false
|
||||
|
||||
vim.cmd('highlight Normal ctermbg=NONE guibg=NONE')
|
||||
|
||||
-- Some basics:
|
||||
vim.api.nvim_set_keymap('n', 'c', '"_c', { noremap = true })
|
||||
vim.opt.compatible = false
|
||||
vim.cmd('filetype plugin on')
|
||||
vim.cmd('syntax on')
|
||||
vim.opt.encoding = 'utf-8'
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
-- Enable autocompletion:
|
||||
vim.opt.wildmode = { 'longest', 'list', 'full' }
|
||||
|
||||
-- Disables automatic commenting on newline:
|
||||
vim.api.nvim_exec([[
|
||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||
]], false)
|
||||
|
||||
-- Perform dot commands over visual blocks:
|
||||
vim.api.nvim_set_keymap('v', '.', ':normal .<CR>', { noremap = true })
|
||||
|
||||
-- Goyo plugin makes text more readable when writing prose:
|
||||
vim.api.nvim_set_keymap('n', '<leader>f', ':Goyo | set bg=light | set linebreak<CR>', { noremap = true })
|
||||
|
||||
-- Spell-check set to <leader>o, 'o' for 'orthography':
|
||||
vim.api.nvim_set_keymap('n', '<leader>o', ':setlocal spell! spelllang=en_us<CR>', { noremap = true })
|
||||
|
||||
-- Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.splitright = true
|
||||
|
||||
-- Shortcutting split navigation, saving a keypress:
|
||||
vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', { noremap = true })
|
||||
vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', { noremap = true })
|
||||
vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', { noremap = true })
|
||||
vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', { noremap = true })
|
||||
|
||||
|
||||
|
||||
vim.o.background = "dark" -- or "light" for light mode
|
||||
|
||||
require("solarizedDark").setup({
|
||||
transparent_mode = true,
|
||||
})
|
||||
|
||||
vim.cmd([[colorscheme solarizedDark]])
|
||||
35
archive/nvim/lua/config/lazy.lua
Normal file
35
archive/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,35 @@
|
||||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||
-- loading lazy.nvim so that mappings are correct.
|
||||
-- This is also a good place to setup other settings (vim.opt)
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- import your plugins
|
||||
{ "nxstynate/solarizedDark.nvim", priority = 1000 },
|
||||
},
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = { colorscheme = { "habamax" } },
|
||||
-- automatically check for plugin updates
|
||||
checker = { enabled = true },
|
||||
})
|
||||
0
archive/nyxt/auto-config.3.lisp
Normal file
0
archive/nyxt/auto-config.3.lisp
Normal file
27
archive/nyxt/config.lisp
Normal file
27
archive/nyxt/config.lisp
Normal file
@@ -0,0 +1,27 @@
|
||||
;; vi keybindings
|
||||
(define-configuration buffer
|
||||
((default-modes
|
||||
(pushnew 'nyxt/mode/vi:vi-normal-mode %slot-value%))))
|
||||
|
||||
;; Vi-insert mode for prompt-buffer (minibuffer)
|
||||
(define-configuration prompt-buffer
|
||||
((default-modes (append '(vi-insert-mode) %slot-default%))))
|
||||
|
||||
(defvar *my-search-engines*
|
||||
(list
|
||||
'("ddg" "https://duckduckgo.com/?q=~a" "https://duckduckgo.com"))
|
||||
"List of search engines.")
|
||||
|
||||
(define-configuration context-buffer
|
||||
"Set DuckDuckGo as the default search engine."
|
||||
((search-engines
|
||||
(append %slot-default%
|
||||
(mapcar
|
||||
(lambda (engine) (apply 'make-search-engine engine))
|
||||
*my-search-engines*)))))
|
||||
|
||||
(define-configuration (web-buffer)
|
||||
((default-modes (pushnew 'nyxt/mode/blocker:blocker-mode %slot-value%))))
|
||||
|
||||
(defmethod customize-instance ((document-buffer document-buffer) &key)
|
||||
(setf (slot-value document-buffer 'zoom-ratio-default) 1.1))
|
||||
4
archive/qt5ct/colors/dracula.conf
Normal file
4
archive/qt5ct/colors/dracula.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
[ColorScheme]
|
||||
active_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a
|
||||
disabled_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a
|
||||
inactive_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a
|
||||
5
archive/qt5ct/colors/manegarm.conf
Normal file
5
archive/qt5ct/colors/manegarm.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
[ColorScheme]
|
||||
active_colors=#ff7cb518, #ff424559, #ff484d6b, #ff95836f, #ff3f444a, #ff3f444a, #ff95836f, #ff3f444a, #ff7cb518, #ff1c1408, #ff1c1408, #ff3f444a, #ff95836f, #ff7cb518, #ffdbc077, #ffdbc077, #ff3f444a, #ff95836f, #ff3f444a, #ffdfdfdf, #ff3f444a
|
||||
disabled_colors=#ff7cb518, #ff424559, #ff484d6b, #ff95836f, #ff3f444a, #ff3f444a, #ff95836f, #ff3f444a, #ff7cb518, #ff1c1408, #ff1c1408, #ff3f444a, #ff95836f, #ff7cb518, #ffdbc077, #ffdbc077, #ff3f444a, #ff95836f, #ff3f444a, #ffdfdfdf, #ff3f444a
|
||||
inactive_colors=#ff7cb518, #ff424559, #ff484d6b, #ff95836f, #ff3f444a, #ff3f444a, #ff95836f, #ff3f444a, #ff7cb518, #ff1c1408, #ff1c1408, #ff3f444a, #ff95836f, #ff7cb518, #ffdbc077, #ffdbc077, #ff3f444a, #ff95836f, #ff3f444a, #ffdfdfdf, #ff3f444a
|
||||
|
||||
5
archive/qt5ct/qt5ct.conf
Normal file
5
archive/qt5ct/qt5ct.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
[Appearance]
|
||||
style=Fusion
|
||||
icon_theme=Papirus-Dark
|
||||
custom_palette=true
|
||||
color_scheme_path=~/.config/qt5ct/colors/manegarm.conf
|
||||
Reference in New Issue
Block a user