Compare commits

..

8 Commits

8 changed files with 69 additions and 52 deletions

View File

@@ -28,11 +28,13 @@
;; Keybindings for next/previous buffer
(map! :n "C-c j" #'previous-buffer)
(map! :n "C-c k" #'next-buffer)
;; Keybindings for citar
(map! :leader :n "n B" #'citar-open-files
:desc "Open associated PDF with bibliography entry")
;; Keybindings for PlatformIO
(map! :after platformio-mode
:map platformio-mode-map
(:localleader
:desc "Compile the project" "c c" #'platformio-build
:desc "Upload the project" "c u" #'platformio-upload
:desc "Monitor the serial console" "c m" #'platformio-device-monitor
:desc "Upload data files" "c d" #'platformio-spiffs-upload))
:desc "Monitor the serial console" "c m" #'platformio-device-monitor))

19
+org.el
View File

@@ -95,6 +95,10 @@
(use-package! engrave-faces-latex
:after ox-latex)
(setq org-latex-src-block-backend 'engraved)
;; Set up bibliography management
(setq org-cite-global-bibliography '("~/Documents/Uni/Thesis/docs/bibliography.bib")
citar-bibliography org-cite-global-bibliography
citar-library-paths '("~/Documents/Uni/Thesis/bibliography"))
;; Add citeproc and metadata-file options to ox-pandoc
(after! ox-pandoc
(add-to-list 'org-pandoc-valid-options 'citeproc)
@@ -116,6 +120,17 @@
:file "~/Notes/Recipes.org"
:type entry
:template ("%(org-chef-get-recipe-from-url)"))
("Reference" :keys "r"
:type entry
:file "~/Documents/Uni/Thesis/docs/Bibliography.org"
:function org-goto
:fetch-bibtex (lambda () (org-capture-ref-process-capture))
:org-entry (lambda () (org-capture-ref-get-org-entry))
:template
("%{fetch-bibtex}* %?%{space}%(org-capture-ref-get-bibtex-field :title)"
"#+begin_src bibtex"
"%(org-capture-ref-get-bibtex-field :bibtex-string)"
"#+end_src")))))
;; Fix org-chef scraping
(setq org-chef-prefer-json-ld t)
;; Get the current state of org-pomodoro
@@ -170,6 +185,10 @@
(add-hook! 'org-mode-hook 'org-fragtog-mode)
;; Auto tangle on save
(add-hook! 'org-mode-hook 'org-auto-tangle-mode)
;; Save bibtex to annotated bibliography with category selection
(setq org-goto-interface 'outline-path-completion
org-goto-max-level 1)
(use-package! org-capture-ref)
;; HACK Fix search folded sections
(setq org-fold-core-style 'overlays)
(evil-select-search-module 'evil-search-module 'evil-search)

21
+rss.el
View File

@@ -1,21 +1,16 @@
;;; +rss.el -*- lexical-binding: t; -*-
;; Elfeed configuration
;;
;; Tweak appeareance of the main page
(setq elfeed-sort-order 'ascending
;; Synchronize elfeed with Miniflux
(setq elfeed-use-curl t
elfeed-protocol-feeds (list
(list "fever+https://coolneng@rss.coolneng.duckdns.org"
:api-url "https://rss.coolneng.duckdns.org/fever/"
:password (auth-source-pass-get 'secret "api/miniflux")))
elfeed-sort-order 'ascending
elfeed-search-filter "@all +unread"
elfeed-goodies/tag-column-width 0)
;; Synchronize elfeed with Miniflux
(use-package! elfeed-protocol
:after elfeed
:config
(setq elfeed-use-curl t
elfeed-protocol-enabled-protocols '(fever)
elfeed-protocol-feeds (list
(list "fever+https://coolneng@rss.psydnd.org"
:api-url "https://rss.psydnd.org/fever/"
:password (auth-source-pass-get 'secret "api/miniflux"))))
(elfeed-protocol-enable))
(elfeed-protocol-enable)
;; Update RSS feeds on startup
(add-hook! 'elfeed-search-mode-hook 'elfeed-update)
;; Use different font and show article in fullscreen

22
+ui.el
View File

@@ -6,15 +6,13 @@
;; Display Magit status in fullscreen
(after! magit
(setq magit-display-buffer-function #'magit-display-buffer-fullframe-status-v1))
;; Match pdf-tools colors to the theme, fit to page by default and enable smooth scrolling
;; Match pdf-tools colors to the theme and fit to page by default
(after! pdf-tools
(setq pdf-view-midnight-colors '("#BBC2CF" . "#282C34"))
(setq-default pdf-view-display-size 'fit-width)
(add-hook 'pdf-tools-enabled-hook 'pdf-view-roll-minor-mode))
(add-hook 'pdf-tools-enabled-hook 'pdf-view-midnight-minor-mode))
;; Customize modeline
(setq doom-modeline-major-mode-icon t
doom-modeline-buffer-encoding nil
doom-modeline-check-simple-format t)
doom-modeline-buffer-encoding nil)
;; Hide direnv environment variables popup
(setq direnv-always-show-summary nil)
;; Change splash-screen banner
@@ -64,13 +62,17 @@
:icon (nerd-icons-octicon "nf-oct-rss" :face 'doom-dashboard-menu-title)
:when (featurep! :app rss)
:face (:inherit (doom-dashboard-menu-title bold))
:action =rss)))
:action =rss)
("Read saved articles"
:icon (nerd-icons-octicon "nf-oct-book" :face 'doom-dashboard-menu-title)
:face (:inherit (doom-dashboard-menu-title bold))
:action =wallabag)))
;; Restore previous session without confirmation
(defadvice! restore-no-confirm-session-quickload-a ()
:override #'doom/quickload-session
(message "Restoring session...")
(doom-load-session)
(message "Session restored. Welcome back."))
:override #'doom/quickload-session
(message "Restoring session...")
(doom-load-session)
(message "Session restored. Welcome back."))
;; Decrease size of icons in the modeline
(setq nerd-icons-scale-factor 1.0)
;; Increase size of the PlatformIO compilation buffer

View File

@@ -8,13 +8,18 @@
(load! "+keybindings")
;; Set projects directories
(setq projectile-project-search-path '(("~/Projects" . 2)
("~/Documents" . 5)
("~/Repos")
("~/Documents/Work" . 1)
("~/Documents/Papers" . 0)
("~/Documents/Typesetting" . 1)
("~/Documents/Paperwork" . 1)
("~/Documents/Typesetting" . 1)
("~/Documents/Uni" . 3)
("~/Repos" . 1)
"~/.dotfiles"
"~/Notes"))
;; Auto cleanup recentf
; Auto cleanup recentf
(setq recentf-auto-cleanup 300)
;; Save backup files to ~/.cache and autosave files to ~/.cache/emacs
; Save backup files to ~/.cache and autosave files to ~/.cache/emacs
(setq backup-directory-alist `(("." . "~/.cache"))
auto-save-list-file-prefix (concat "~/.cache"))
;; Load org configuration
@@ -94,6 +99,9 @@
:after cc-mode
:config
(add-hook! 'c++-mode-hook (platformio-conditionally-enable)))
;; Disable Pyright's type checking
(after! lsp-pyright
(setq lsp-pyright-use-library-code-for-types nil))
;; Set indentation level to 2
(setq tab-width 2)
;; Move buffer while maintaining cursor centered
@@ -104,6 +112,5 @@
(pixel-scroll-precision-mode)
;; Restore previous session on startup
(add-hook 'window-setup-hook #'doom/quickload-session)
;; Set ruff as the default python formatter
(after! python
(set-formatter! 'ruff :modes '(python-mode python-ts-mode)))
;; Enable PDF smooth scrolling
(add-hook 'pdf-tools-enabled-hook 'pdf-view-roll-minor-mode)

13
init.el
View File

@@ -11,7 +11,7 @@
(doom! :input
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
;layout ; auie,ctsrnm is the superior home row
:completion
;;(company +tng) ; the ultimate code completion backend
@@ -84,7 +84,7 @@
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
biblio ; Writes a PhD for you (citation needed)
debugger ; FIXME stepping through code, to help you add bugs
direnv
;;docker
@@ -94,7 +94,7 @@
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
;;+docsets) ; ...or in Dash docsets locally
(lsp +booster) ; M-x vscode
lsp ; M-x vscode
;;macos ; MacOS-specific commands
magit ; a git porcelain for Emacs
make ; run make tasks from Emacs
@@ -159,13 +159,14 @@
+pandoc ; export-with-pandoc support
+pomodoro ; be fruitful with the tomato technique
+present) ; using org-mode for presentations
;;+pretty)
;;+pretty)
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
(python +lsp ; beautiful is better than ugly
+poetry
+tree-sitter)
+pyright
+poetry
+tree-sitter)
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6

View File

@@ -19,6 +19,11 @@
(package! org-auto-tangle)
;; Enable LaTeX previews automatically
(package! org-fragtog)
;; Fetch and save bibtex from Firefox
(package! asoc :recipe (:host github :repo "troyp/asoc.el"))
(package! doct :recipe (:host github :repo "progfolio/doct"))
(package! persid :recipe (:host github :repo "rougier/persid"))
(package! org-capture-ref :recipe (:host github :repo "yantar92/org-capture-ref"))
;; Arduino development
(package! platformio-mode)
;; Light theme
@@ -29,5 +34,3 @@
(unpin! pdf-tools)
(package! pdf-tools :recipe (:host github :repo "aikrahguzar/pdf-tools" :branch "child-frame-preview"))
(package! image-roll :recipe (:host github :repo "dalanicolai/image-roll.el"))
;; Declarative org capture templates
(package! doct :recipe (:host github :repo "progfolio/doct"))

View File

@@ -1,12 +0,0 @@
# -*- mode: snippet -*-
# name: work administration template
# key: work
# condition: t
# --
Dear colleague,
You will find attached to this mail my $1 for the month of `(format-time-string "%B %Y")`.
Kind regards,
Amin Kasrou Aouam