From 6b2f640a6101ef62bb181cecdcb7b8c193bba448 Mon Sep 17 00:00:00 2001 From: luxick Date: Wed, 5 Jul 2023 11:33:33 +0200 Subject: [PATCH] Set modus theme & lisp programming --- README.org | 109 +++++++++++++++++------------------------------------ 1 file changed, 35 insertions(+), 74 deletions(-) diff --git a/README.org b/README.org index aca2f0e..5aef3d2 100644 --- a/README.org +++ b/README.org @@ -32,82 +32,22 @@ Packages provided by =straight.el= https://github.com/radian-software/straight.e #+end_src * Theming -Add the nano package from Github #+begin_src emacs-lisp - (straight-use-package - '(nano-emacs :type git :host github :repo "rougier/nano-emacs")) + (use-package modus-themes + :straight t + :config + ;; Add all your customizations prior to loading the themes + (setq modus-themes-italic-constructs t + modus-themes-bold-constructs nil) - (setq nano-font-size 12) -#+end_src + ;; Maybe define some palette overrides, such as by using our presets + (setq modus-themes-common-palette-overrides + modus-themes-preset-overrides-intense) -Configure all nano modules -#+begin_src emacs-lisp - ;; Default layout (optional) - (require 'nano-layout) + ;; Load the theme of your choice. + (load-theme 'modus-operandi) - ;; Theming Command line options (this will cancel warning messages) - (add-to-list 'command-switch-alist '("-dark" . (lambda (args)))) - (add-to-list 'command-switch-alist '("-light" . (lambda (args)))) - (add-to-list 'command-switch-alist '("-default" . (lambda (args)))) - (add-to-list 'command-switch-alist '("-no-splash" . (lambda (args)))) - (add-to-list 'command-switch-alist '("-no-help" . (lambda (args)))) - (add-to-list 'command-switch-alist '("-compact" . (lambda (args)))) - - - (cond - ((member "-default" command-line-args) t) - ((member "-dark" command-line-args) (require 'nano-theme-dark)) - (t (require 'nano-theme-light))) - - ;; Customize support for 'emacs -q' (Optional) - ;; You can enable customizations by creating the nano-custom.el file - ;; with e.g. `touch nano-custom.el` in the folder containing this file. - (let* ((this-file (or load-file-name (buffer-file-name))) - (this-dir (file-name-directory this-file)) - (custom-path (concat this-dir "nano-custom.el"))) - (when (and (eq nil user-init-file) - (eq nil custom-file) - (file-exists-p custom-path)) - (setq user-init-file this-file) - (setq custom-file custom-path) - (load custom-file))) - - ;; Theme - (require 'nano-faces) - (nano-faces) - - (require 'nano-theme) - (nano-theme) - - ;; Nano session saving (optional) - (require 'nano-session) - - ;; Nano header & mode lines (optional) - (require 'nano-modeline) - - ;; Nano key bindings modification (optional) - (require 'nano-bindings) - - ;; Compact layout (need to be loaded after nano-modeline) - (when (member "-compact" command-line-args) - (require 'nano-compact)) - - ;; Nano counsel configuration (optional) - ;; Needs "counsel" package to be installed (M-x: package-install) - ;; (require 'nano-counsel) - - ;; Welcome message (optional) - (let ((inhibit-message t)) - (message "Welcome to GNU Emacs / N Λ N O edition") - (message (format "Initialization time: %s" (emacs-init-time)))) - - ;; Splash (optional) - (unless (member "-no-splash" command-line-args) - (require 'nano-splash)) - - ;; Help (optional) - (unless (member "-no-help" command-line-args) - (require 'nano-help)) + (define-key global-map (kbd "") #'modus-themes-toggle)) #+end_src *Set up the default frame look* @@ -127,8 +67,6 @@ Remove all those UI elements. They do not look good and waste space. (scroll-bar-mode -1) (tooltip-mode -1) (fringe-mode -1) - - #+END_SRC ** Disable file backups @@ -553,6 +491,21 @@ Ag.el allows you to search using ~ag~ from inside Emacs. You can filter by file #+END_SRC * Programming +** General +#+BEGIN_SRC emacs-lisp + (use-package paredit + :straight t) + (autoload 'enable-paredit-mode "paredit" "Turn on pseudo-structural editing of Lisp code." t) + (add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode) + (add-hook 'eval-expression-minibuffer-setup-hook #'enable-paredit-mode) + (add-hook 'ielm-mode-hook #'enable-paredit-mode) + (add-hook 'lisp-mode-hook #'enable-paredit-mode) + (add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode) + (add-hook 'scheme-mode-hook #'enable-paredit-mode) + + (add-hook 'prog-mode-hook 'display-line-numbers-mode) +#+END_SRC + ** Elisp Some customization for writing elisp #+BEGIN_SRC emacs-lisp @@ -565,6 +518,14 @@ Some customization for writing elisp (add-hook 'emacs-lisp-mode-hook 'my-elisp-mode-hook) #+END_SRC +** Common Lisp +#+BEGIN_SRC emacs-lisp + (setq inferior-lisp-program "sbcl") + (use-package slime + :straight t) + (slime-setup '(slime-fancy slime-quicklisp slime-asdf)) + (add-hook 'slime-repl-mode-hook (lambda () (paredit-mode +1))) +#+END_SRC * Load additional files All information about the current user should reside in the ~personal.el~ file. This file contains personal information like name, email or other identifying information.