~thecatster/.emacs.d

8366d6eb01a3be8b75efb92bd22e4db48a97b5be — Daniel Rose 2 years ago 5513608
Remove dashboard and add custom emacs build script
3 files changed, 127 insertions(+), 49 deletions(-)

M emacs.org
M init.el
A myemacsbuild.sh
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