M emacs.org => emacs.org +56 -27
@@ 319,6 319,13 @@ time I open a file, and I usually use Magit anyway.
(setq vc-follow-symlinks t)
#+END_SRC
+I prefer to have a little message in scratch and keep it in fundamental mode.
+
+#+BEGIN_SRC emacs-lisp
+(setq initial-scratch-message "Welcome to Engineered Emacs: EXWM Edition!")
+(setq initial-major-mode 'fundamental-mode)
+#+END_SRC
+
I absolutely hate the bell, please shut up.
#+BEGIN_SRC emacs-lisp
@@ 1260,32 1267,6 @@ modify) PDFs in Emacs.
;; save after adding comment
(advice-add 'pdf-annot-edit-contents-commit :after 'bjm/save-buffer-no-args)))
#+END_SRC
-** Dashboard
-Emacs Dashboard is pretty nice, especially since I often use it to
-look at the day's agenda.
-
-#+BEGIN_SRC emacs-lisp
-(use-package page-break-lines)
-
-(use-package dashboard
- :config
- (setq dashboard-set-heading-icons t)
- (setq dashboard-center-content t)
- (setq dashboard-set-file-icons t)
- (setq dashboard-set-navigator t)
- (setq dashboard-items '((projects . 5)
- (agenda . 5))))
-
-(defun create-dashboard ()
- "Jump to the dashboard buffer, if doesn't exists create one."
- (interactive)
- (switch-to-buffer "*dashboard*")
- (dashboard-mode)
- (dashboard-insert-startupify-lists)
- (dashboard-refresh-buffer))
-(create-dashboard)
-(setq initial-buffer-choice (lambda () (get-buffer "*dashboard*")))
-#+END_SRC
* Programs and Extensions
** XKCD
Comics are fun, why not add them to Emacs as well?
@@ 1442,6 1423,54 @@ erc is a cool irc client for emacs
(erc-update-modules))
#+END_SRC
+** System Packages
+Although Guix has a really cool emacs package to manage packages, I'm
+not always on Guix. This is the next best thing for every other
+distro.
+
+#+BEGIN_SRC emacs-lisp
+(use-package system-packages
+ :custom
+ (system-packages-package-manager 'paru) ;; For Arch
+ ;; (system-packages-package-manager 'xbps) ;; For Void
+ ;; (system-packages-package-manager 'nix) ;; For Nix/LFS
+ :config
+ (add-to-list 'system-packages-supported-package-managers
+ '(paru .
+ ((default-sudo . nil)
+ (install . "paru -S")
+ (search . "paru -Ss")
+ (uninstall . "paru -Rs")
+ (update . "paru -Syu")
+ (clean-cache . "paru -Sc")
+ (log . "cat /var/log/pacman.log")
+ (change-log . "paru -Qc")
+ (get-info . "paru -Qi")
+ (get-info-remote . "paru -Si")
+ (list-files-provided-by . "paru -Ql")
+ (owning-file . "paru -Qo")
+ (owning-file-remote . "paru -F")
+ (verify-all-packages . "paru -Qkk")
+ (verify-all-dependencies . "paru -Dk")
+ (remove-orphaned . "paru -Rns $(pacman -Qtdq)")
+ (list-installed-packages . "paru -Qe")
+ (list-installed-packages-all . "paru -Q")
+ (list-dependencies-of . "paru -Qi")
+ (noconfirm . "--noconfirm")))))
+#+END_SRC
+
+** Ledger
+By keeping my finances in (encrypted) plain text, I can ensure they
+are always accessible, even offline (as opposed to my previous
+self-hosted solution, SilverStrike).
+
+#+BEGIN_SRC emacs-lisp
+(use-package ledger-mode)
+
+(use-package flycheck-ledger
+ :after ledger-mode)
+#+END_SRC
+
** LilyPond
LilyPond is quite interesting, and adding it to Emacs is great as
well! Writing my music in text is a different way to approach it, and
@@ 1699,7 1728,7 @@ Who doesn't like Flycheck? :)
#+BEGIN_SRC emacs-lisp
(use-package flycheck
- :hook (lsp-mode . flycheck-mode)
+ :hook ((lsp-mode ledger-mode) . flycheck-mode)
:config
(setq-default flycheck-temp-prefix ".flycheck"))
#+END_SRC
M init.el => init.el +38 -22
@@ 179,6 179,9 @@
(remove-hook 'find-file-hooks 'vc-find-file-hook)
(setq vc-follow-symlinks t)
+(setq initial-scratch-message "Welcome to Engineered Emacs: EXWM Edition!")
+(setq initial-major-mode 'fundamental-mode)
+
(setq ring-bell-function 'ignore)
(setq-default indent-tabs-mode nil)
@@ 873,27 876,6 @@
;; save after adding comment
(advice-add 'pdf-annot-edit-contents-commit :after 'bjm/save-buffer-no-args)))
-(use-package page-break-lines)
-
-(use-package dashboard
- :config
- (setq dashboard-set-heading-icons t)
- (setq dashboard-center-content t)
- (setq dashboard-set-file-icons t)
- (setq dashboard-set-navigator t)
- (setq dashboard-items '((projects . 5)
- (agenda . 5))))
-
-(defun create-dashboard ()
- "Jump to the dashboard buffer, if doesn't exists create one."
- (interactive)
- (switch-to-buffer "*dashboard*")
- (dashboard-mode)
- (dashboard-insert-startupify-lists)
- (dashboard-refresh-buffer))
-(create-dashboard)
-(setq initial-buffer-choice (lambda () (get-buffer "*dashboard*")))
-
(use-package xkcd)
(use-package sx
@@ 1014,6 996,40 @@
(erc-services-mode 1)
(erc-update-modules))
+(use-package system-packages
+ :custom
+ (system-packages-package-manager 'paru) ;; For Arch
+ ;; (system-packages-package-manager 'xbps) ;; For Void
+ ;; (system-packages-package-manager 'nix) ;; For Nix/LFS
+ :config
+ (add-to-list 'system-packages-supported-package-managers
+ '(paru .
+ ((default-sudo . nil)
+ (install . "paru -S")
+ (search . "paru -Ss")
+ (uninstall . "paru -Rs")
+ (update . "paru -Syu")
+ (clean-cache . "paru -Sc")
+ (log . "cat /var/log/pacman.log")
+ (change-log . "paru -Qc")
+ (get-info . "paru -Qi")
+ (get-info-remote . "paru -Si")
+ (list-files-provided-by . "paru -Ql")
+ (owning-file . "paru -Qo")
+ (owning-file-remote . "paru -F")
+ (verify-all-packages . "paru -Qkk")
+ (verify-all-dependencies . "paru -Dk")
+ (remove-orphaned . "paru -Rns $(pacman -Qtdq)")
+ (list-installed-packages . "paru -Qe")
+ (list-installed-packages-all . "paru -Q")
+ (list-dependencies-of . "paru -Qi")
+ (noconfirm . "--noconfirm")))))
+
+(use-package ledger-mode)
+
+(use-package flycheck-ledger
+ :after ledger-mode)
+
(add-to-list 'load-path "/usr/share/emacs/site-lisp/") ; Arch Linux path
(require 'lilypond-mode)
(add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode))
@@ 1148,7 1164,7 @@
(use-package deadgrep)
(use-package flycheck
- :hook (lsp-mode . flycheck-mode)
+ :hook ((lsp-mode ledger-mode) . flycheck-mode)
:config
(setq-default flycheck-temp-prefix ".flycheck"))
A myemacsbuild.sh => myemacsbuild.sh +33 -0
@@ 0,0 1,33 @@
+#!/bin/sh
+
+./autogen.sh &&
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --with-gameuser=:games \
+ --with-sound=alsa \
+ --with-dbus \
+ --with-gif \
+ --with-jpeg \
+ --with-png \
+ --with-rsvg \
+ --with-tiff \
+ --with-xft \
+ --with-xpm \
+ --with-gpm=no \
+ --with-json \
+ --with-mailutils \
+ --with-kerberos5 \
+ --with-modules \
+ --with-imagemagick \
+ --with-x \
+ --with-x-toolkit=lucid \
+ --without-gconf \
+ --without-gsettings \
+ --with-native-compilation \
+ --with-wide-int \
+ --with-cairo &&
+make clean install