Fleshed out new emacs config, added Guix.org, added Stump
This commit is contained in:
Binary file not shown.
@@ -2,17 +2,17 @@ IMAPAccount opal.sh
|
|||||||
Host imap.opal.sh
|
Host imap.opal.sh
|
||||||
Port 993
|
Port 993
|
||||||
User ry@opal.sh
|
User ry@opal.sh
|
||||||
PassCmd "gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/dotfiles/.config/mbsync/.mu4e.gpg"
|
PassCmd "gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/Dotfiles/.config/mbsync/.mu4e.gpg"
|
||||||
SSLType IMAPS
|
SSLType IMAPS
|
||||||
CertificateFile /etc/ssl/certs/ca-bundle.crt
|
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||||
|
|
||||||
IMAPStore opal-remote
|
IMAPStore opal-remote
|
||||||
Account opal.sh
|
Account opal.sh
|
||||||
|
|
||||||
MaildirStore opal-local
|
MaildirStore opal-local
|
||||||
Path ~/mail/opal.sh/
|
Path ~/Mail/opal.sh/
|
||||||
Inbox ~/mail/opal.sh/Inbox
|
Inbox ~/Mail/opal.sh/Inbox
|
||||||
Trash ~/mail/opal.sh/Trash
|
Trash ~/Mail/opal.sh/Trash
|
||||||
SubFolders Verbatim
|
SubFolders Verbatim
|
||||||
|
|
||||||
Channel opal.sh
|
Channel opal.sh
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
# This file is written by xdg-user-dirs-update
|
|
||||||
# If you want to change or add directories, just edit the line you're
|
|
||||||
# interested in. All local changes will be retained on the next run.
|
|
||||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
|
||||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
|
||||||
# absolute path. No other format is supported.
|
|
||||||
#
|
|
||||||
XDG_DESKTOP_DIR="$HOME/Desktop"
|
|
||||||
XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
|
||||||
XDG_TEMPLATES_DIR="$HOME/Templates"
|
|
||||||
XDG_PUBLICSHARE_DIR="$HOME/Public"
|
|
||||||
XDG_DOCUMENTS_DIR="$HOME/Documents"
|
|
||||||
XDG_MUSIC_DIR="$HOME/Music"
|
|
||||||
XDG_PICTURES_DIR="$HOME/Pictures"
|
|
||||||
XDG_VIDEOS_DIR="$HOME/Videos"
|
|
||||||
80
Guix.org
Normal file
80
Guix.org
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
#+TITLE: Guix Configuration
|
||||||
|
|
||||||
|
Disclaimer: I use the nonguix channel only for the use of Firefox (which I hope to replace with Nyxt Browser in the future). I do not use non-free software or non-free drivers/firmware on any machine I own, nor do I advocate for the use of the nonguix channel.
|
||||||
|
|
||||||
|
I use GNU Guix as my operating system. I'm able to declare the state of the operating system in a series of configuration files in a similar way to Puppet. Eventually I would like to integrate Guix Home into this configuration.
|
||||||
|
|
||||||
|
#+begin_src scheme
|
||||||
|
(use-modules (gnu)
|
||||||
|
(nongnu packages linux))
|
||||||
|
|
||||||
|
(use-service-modules
|
||||||
|
cups
|
||||||
|
desktop
|
||||||
|
networking
|
||||||
|
ssh
|
||||||
|
xorg)
|
||||||
|
|
||||||
|
(operating-system
|
||||||
|
(kernel linux)
|
||||||
|
(firmware (list linux-firmware))
|
||||||
|
(locale "en_US.utf8")
|
||||||
|
(timezone "America/Los_Angeles")
|
||||||
|
(keyboard-layout (keyboard-layout "us"))
|
||||||
|
(host-name "borges")
|
||||||
|
(users (cons* (user-account
|
||||||
|
(name "opal")
|
||||||
|
(comment "opal")
|
||||||
|
(group "users")
|
||||||
|
(home-directory "/home/opal")
|
||||||
|
(supplementary-groups
|
||||||
|
'("wheel"
|
||||||
|
"netdev"
|
||||||
|
"audio"
|
||||||
|
"video")))
|
||||||
|
%base-user-accounts))
|
||||||
|
(packages
|
||||||
|
(append
|
||||||
|
(list (specification->package "awesome")
|
||||||
|
(specification->package "nss-certs")
|
||||||
|
(specification->package "xterm")
|
||||||
|
(specification->package "emacs")
|
||||||
|
(specification->package "git")
|
||||||
|
(specification->package "bluez")
|
||||||
|
(specification->package "bluez-alsa")
|
||||||
|
(specification->package "pulseaudio")
|
||||||
|
(specification->package "vim")
|
||||||
|
(specification->package "exfat-utils")
|
||||||
|
(specification->package "stow")
|
||||||
|
(specification->package "stumpwm"))
|
||||||
|
%base-packages))
|
||||||
|
(services
|
||||||
|
(append
|
||||||
|
(list (service gnome-desktop-service-type)
|
||||||
|
(set-xorg-configuration
|
||||||
|
(xorg-configuration
|
||||||
|
(keyboard-layout keyboard-layout))))
|
||||||
|
%desktop-services))
|
||||||
|
(bootloader
|
||||||
|
(bootloader-configuration
|
||||||
|
(bootloader grub-efi-bootloader)
|
||||||
|
(targets (list "/boot/efi"))
|
||||||
|
(keyboard-layout keyboard-layout)))
|
||||||
|
(mapped-devices
|
||||||
|
(list (mapped-device
|
||||||
|
(source
|
||||||
|
(uuid "40aa6387-e935-4f70-8e7d-1975678a5a32"))
|
||||||
|
(target "cryptroot")
|
||||||
|
(type luks-device-mapping))))
|
||||||
|
(file-systems
|
||||||
|
(cons* (file-system
|
||||||
|
(mount-point "/")
|
||||||
|
(device "/dev/mapper/cryptroot")
|
||||||
|
(type "btrfs")
|
||||||
|
(dependencies mapped-devices))
|
||||||
|
(file-system
|
||||||
|
(mount-point "/boot/efi")
|
||||||
|
(device (uuid "1C3B-10F5" 'fat32))
|
||||||
|
(type "vfat"))
|
||||||
|
%base-file-systems)))
|
||||||
|
#+end_src
|
||||||
232
New-Emacs.org
232
New-Emacs.org
@@ -1,5 +1,5 @@
|
|||||||
|
#+PROPERTY: header-args:emacs-lisp :tangle ~/Dotfiles/.config/emacs/init.el :mkdirp yes :lexical yes
|
||||||
#+TITLE: Emacs Configuration
|
#+TITLE: Emacs Configuration
|
||||||
#+PROPERTY: header-args:emacs-lisp :tangle ~/Dotfiles/config/emacs/init.el :mkdirp yes :lexical yes
|
|
||||||
|
|
||||||
Todo:
|
Todo:
|
||||||
- Yassnippet
|
- Yassnippet
|
||||||
@@ -49,12 +49,14 @@ I use [[https://github.com/raxod502/straight.el][straight.el]] for managing pack
|
|||||||
(set-default 'truncate-lines nil) ;; Wrap lines at end of screen
|
(set-default 'truncate-lines nil) ;; Wrap lines at end of screen
|
||||||
(setq visible-bell t) ;; Visible flash to represent a bell
|
(setq visible-bell t) ;; Visible flash to represent a bell
|
||||||
(setq x-select-enable-clipboard t) ;; Enable clipboard
|
(setq x-select-enable-clipboard t) ;; Enable clipboard
|
||||||
|
(global-tab-line-mode 1)
|
||||||
|
(setq inhibit-startup-message t)
|
||||||
|
|
||||||
;; Disable line mode for specific major/minor modes.
|
;; Disable line mode for specific major/minor modes.
|
||||||
(dolist (mode '(org-mode-hook
|
(dolist (mode '(org-mode-hook))
|
||||||
term-mode-hook
|
'term-mode-hook
|
||||||
shell-mode-hook
|
'shell-mode-hook
|
||||||
eshell-mode-hook))
|
'eshell-mode-hook
|
||||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@@ -116,12 +118,11 @@ Helpful.el is a package that reformats the describe-X functions to be much more
|
|||||||
(use-package super-save
|
(use-package super-save
|
||||||
:straight t
|
:straight t
|
||||||
:config
|
:config
|
||||||
(super-save-mode +1)
|
(super-save-mode +1))
|
||||||
(super-save-auto-save-when-idle t))
|
|
||||||
|
|
||||||
;; Auto reverting Changed Files
|
;; Auto reverting Changed Files
|
||||||
(setq global-auto-revert-non-file-buffers t)
|
(setq global-auto-revert-non-file-buffers nil)
|
||||||
(global-auto-revert-mode 1)
|
(global-auto-revert-mode -1)
|
||||||
#+end_src
|
#+end_src
|
||||||
* Theme
|
* Theme
|
||||||
I really enjoy [[https://protesilaos.com/emacs/modus-themes][Modus Themes]] by Protesilaos Stavrou. They are minimal, high contrast, and easy on the eyes.
|
I really enjoy [[https://protesilaos.com/emacs/modus-themes][Modus Themes]] by Protesilaos Stavrou. They are minimal, high contrast, and easy on the eyes.
|
||||||
@@ -131,8 +132,8 @@ I really enjoy [[https://protesilaos.com/emacs/modus-themes][Modus Themes]] by P
|
|||||||
:straight t
|
:straight t
|
||||||
:init
|
:init
|
||||||
(setq modus-themes-italic-constructs t
|
(setq modus-themes-italic-constructs t
|
||||||
modus-themes-bold-constructs nil
|
modus-themes-bold-constructs nil
|
||||||
modus-themes-region '(accented bg-only no-extend)
|
modus-themes-region '(accented bg-only no-extend)
|
||||||
modus-themes-org-blocks 'greyscale
|
modus-themes-org-blocks 'greyscale
|
||||||
modus-themes-paren-match 'intense
|
modus-themes-paren-match 'intense
|
||||||
modus-themes-mixed-fonts t)
|
modus-themes-mixed-fonts t)
|
||||||
@@ -177,11 +178,41 @@ I really enjoy having a leader key and eschewing the Control and Alt keys entire
|
|||||||
":" #'execute-extended-command ;; Eq to M-x
|
":" #'execute-extended-command ;; Eq to M-x
|
||||||
"u" #'universal-argument ;; Universal argument
|
"u" #'universal-argument ;; Universal argument
|
||||||
"w" #'evil-window-map ;; Window functions
|
"w" #'evil-window-map ;; Window functions
|
||||||
"h" #'help-map ;; Helper functions
|
|
||||||
"." #'find-file ;; Find file (opens in mini-buffer)
|
"." #'find-file ;; Find file (opens in mini-buffer)
|
||||||
"," #'persp-switch-to-buffer ;; Switch to perspective.el minibuffer
|
"," #'persp-switch-to-buffer ;; Switch to perspective.el minibuffer
|
||||||
"<" #'switch-to-buffer ;; Switch to non-perspective.el minibuffer
|
"<" #'switch-to-buffer ;; Switch to non-perspective.el minibuffer
|
||||||
"s" #'swiper)) ;; Search in current buffer
|
"s" #'swiper ;; Search in current buffer
|
||||||
|
|
||||||
|
;; Magit
|
||||||
|
"gg" #'magit-status
|
||||||
|
"gi" #'magit-init
|
||||||
|
"gc" #'magit-clone
|
||||||
|
|
||||||
|
;; Buffers
|
||||||
|
"bd" #'kill-buffer
|
||||||
|
|
||||||
|
;; Org
|
||||||
|
; Babel
|
||||||
|
"obt" #'org-babel-tangle
|
||||||
|
; Gen
|
||||||
|
"ol" #'org-insert-link
|
||||||
|
"or" #'org-reload
|
||||||
|
; Agenda
|
||||||
|
"oa" #'org-agenda
|
||||||
|
|
||||||
|
;; Eval
|
||||||
|
"eb" #'eval-buffer
|
||||||
|
"er" #'eval-region
|
||||||
|
"ef" #'eval-defun
|
||||||
|
"el" #'eval-last-sexp
|
||||||
|
|
||||||
|
;; Describe
|
||||||
|
"df" #'describe-function
|
||||||
|
"dv" #'describe-variable
|
||||||
|
"ds" #'describe-symbol
|
||||||
|
"dk" #'describe-key
|
||||||
|
"dp" #'describe-package))
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Evil
|
** Evil
|
||||||
@@ -218,26 +249,25 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
|||||||
** Ivy
|
** Ivy
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package ivy
|
(use-package ivy
|
||||||
:straight t
|
:straight t
|
||||||
:diminish
|
:diminish
|
||||||
:bind
|
:bind (("C-s" . 'swiper)
|
||||||
(("C-s" . swiper)
|
:map ivy-minibuffer-map
|
||||||
:map ivy-minibuffer-map
|
("TAB" . ivy-alt-done)
|
||||||
("TAB" . ivy-alt-done)
|
("C-l" . ivy-alt-done)
|
||||||
("C-l" . ivy-alt-done)
|
("C-j" . ivy-next-line)
|
||||||
("C-j" . ivy-next-line)
|
("C-k" . ivy-previous-line)
|
||||||
("C-k" . ivy-previous-line)
|
:map ivy-switch-buffer-map
|
||||||
:map ivy-switch-buffer-map
|
("C-k" . ivy-previous-line)
|
||||||
("C-k" . ivy-previous-line)
|
("C-l" . ivy-done)
|
||||||
("C-l" . ivy-done)
|
("C-d" . ivy-reverse-i-search-kill))
|
||||||
("C-d" . ivy-reverse-i-search-kill))
|
:config
|
||||||
:config
|
(ivy-mode 1))
|
||||||
(ivy-mode 1))
|
|
||||||
|
|
||||||
(use-package ivy-rich
|
(use-package ivy-rich
|
||||||
:straight t
|
:straight t
|
||||||
:after ivy
|
:after ivy
|
||||||
:init (icy-rich-mode 1)))
|
:init (ivy-rich-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Counsel
|
** Counsel
|
||||||
@@ -256,8 +286,17 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
|||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Org
|
* Org
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
;; Set org agenda dir
|
||||||
|
(setq org-directory "~/Org/")
|
||||||
|
|
||||||
|
;; Tell Org to stop indenting inside of org source blocks.
|
||||||
|
(setq org-edit-src-content-indentation 0)
|
||||||
|
|
||||||
|
;; Open links in browser
|
||||||
|
(setq browse-url-browser-function 'browse-url-generic
|
||||||
|
browse-url-generic-program "firefox")
|
||||||
|
|
||||||
(defun opal/org-font-setup ()
|
(defun opal/org-font-setup ()
|
||||||
;; Replace list hyphen with dot
|
;; Replace list hyphen with dot
|
||||||
(font-lock-add-keywords 'org-mode
|
(font-lock-add-keywords 'org-mode
|
||||||
@@ -289,11 +328,6 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
|||||||
(set-face-attribute 'line-number nil :inherit 'fixed-pitch)
|
(set-face-attribute 'line-number nil :inherit 'fixed-pitch)
|
||||||
(set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch))
|
(set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch))
|
||||||
|
|
||||||
;; Set org agenda dir
|
|
||||||
(setq org-directory "~/Org/")
|
|
||||||
|
|
||||||
;; Tell Org to stop indenting inside of org source blocks.
|
|
||||||
(setq org-edit-src-content-indentation 0)
|
|
||||||
|
|
||||||
(defun opal/org-mode-setup ()
|
(defun opal/org-mode-setup ()
|
||||||
(org-indent-mode)
|
(org-indent-mode)
|
||||||
@@ -313,87 +347,98 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
|||||||
|
|
||||||
(setq org-agenda-files
|
(setq org-agenda-files
|
||||||
'("~/Org/projects/"
|
'("~/Org/projects/"
|
||||||
"~/Org/tasks/"
|
"~/Org/tasks/"))
|
||||||
))
|
|
||||||
|
|
||||||
(require 'org-habit)
|
(require 'org-habit)
|
||||||
(add-to-list 'org-modules 'org-habit)
|
(add-to-list 'org-modules 'org-habit)
|
||||||
(setq org-habit-graph-column 60)
|
(setq org-habit-graph-column 60)
|
||||||
|
|
||||||
(setq org-todo-keywords
|
(setq org-todo-keywords
|
||||||
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
||||||
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
||||||
|
|
||||||
(setq org-refile-targets
|
(setq org-refile-targets
|
||||||
'(("archive.org" :maxlevel . 1)
|
'(("archive.org" :maxlevel . 1)
|
||||||
("planner.org" :maxlevel . 1)))
|
("planner.org" :maxlevel . 1)))
|
||||||
|
|
||||||
;; Save Org buffers after refiling!
|
;; Save Org buffers after refiling!
|
||||||
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
||||||
|
|
||||||
(setq org-tag-alist
|
(setq org-tag-alist
|
||||||
'((:startgroup)
|
'((:startgroup)
|
||||||
; Put mutually exclusive tags here
|
; Put mutually exclusive tags here
|
||||||
(:endgroup)
|
(:endgroup)
|
||||||
("@errand" . ?E)
|
("@errand" . ?E)
|
||||||
("@home" . ?H)
|
("@home" . ?H)
|
||||||
("@work" . ?W)
|
("@work" . ?W)
|
||||||
("agenda" . ?a)
|
("agenda" . ?a)
|
||||||
("planning" . ?p)
|
("planning" . ?p)
|
||||||
("publish" . ?P)
|
("publish" . ?P)
|
||||||
("batch" . ?b)
|
("batch" . ?b)
|
||||||
("note" . ?n)
|
("note" . ?n)
|
||||||
("idea" . ?i)))
|
("idea" . ?i)))
|
||||||
|
|
||||||
;; Configure custom agenda views
|
;; Configure custom agenda views
|
||||||
(setq org-agenda-custom-commands
|
(setq org-agenda-custom-commands
|
||||||
'(("d" "Dashboard"
|
'(("d" "Dashboard"
|
||||||
((agenda "" ((org-deadline-warning-days 7)))
|
((agenda "" ((org-deadline-warning-days 7)))
|
||||||
(todo "NEXT"
|
(todo "NEXT"
|
||||||
((org-agenda-overriding-header "Next Tasks")))
|
((org-agenda-overriding-header "Next Tasks")))
|
||||||
(tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects")))))
|
(tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects")))))
|
||||||
|
|
||||||
("n" "Next Tasks"
|
("n" "Next Tasks"
|
||||||
((todo "NEXT"
|
((todo "NEXT"
|
||||||
((org-agenda-overriding-header "Next Tasks")))))
|
((org-agenda-overriding-header "Next Tasks")))))
|
||||||
|
|
||||||
;; Low-effort next actions
|
;; Low-effort next actions
|
||||||
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
||||||
((org-agenda-overriding-header "Low Effort Tasks")
|
((org-agenda-overriding-header "Low Effort Tasks")
|
||||||
(org-agenda-max-todos 20)
|
(org-agenda-max-todos 20)
|
||||||
(org-agenda-files org-agenda-files)))))
|
(org-agenda-files org-agenda-files)))))
|
||||||
|
|
||||||
;; Create capture templates
|
;; Create capture templates
|
||||||
(setq org-capture-templates
|
(setq org-capture-templates
|
||||||
`(("t" "Tasks")
|
`(("t" "Tasks")
|
||||||
("tt" "Task" entry (file+olp "~/org/planner/tasks.org" "Inbox")
|
("tt" "Task" entry (file+olp "~/org/planner/tasks.org" "Inbox")
|
||||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||||
|
|
||||||
|
("p" "Projects")
|
||||||
|
("pp" "Project File" entry (file+olp "~/org/projects/auto-infra-overview.org" "Inbox")
|
||||||
|
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)))
|
||||||
|
|
||||||
("p" "Projects")
|
|
||||||
("pp" "Project File" entry (file+olp "~/org/projects/auto-infra-overview.org" "Inbox")
|
|
||||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)))
|
|
||||||
;; Init org font setup
|
;; Init org font setup
|
||||||
(opal/org-font-setup))
|
(opal/org-font-setup))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
;; Change default pretty bullets to circles
|
** Pretty Bullets
|
||||||
|
Creates nicer (-) bullets.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
(use-package org-bullets
|
(use-package org-bullets
|
||||||
:straight t
|
:straight t
|
||||||
:after org
|
:after org
|
||||||
:hook (org-mode . org-bullets-mode)
|
:hook (org-mode . org-bullets-mode)
|
||||||
:custom
|
:custom
|
||||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Visual Fill Mode
|
||||||
|
Creates margins in Org mode to make it more pleasant to look at.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
; Creates margins, and centerrs content in org mode.
|
|
||||||
(defun opal/org-mode-visual-fill ()
|
(defun opal/org-mode-visual-fill ()
|
||||||
(setq visual-fill-column-width 100
|
(setq visual-fill-column-width 100
|
||||||
visual-fill-column-center-text t)
|
visual-fill-column-center-text t)
|
||||||
(visual-fill-column-mode 1))
|
(visual-fill-column-mode 1))
|
||||||
|
|
||||||
(use-package visual-fill-column
|
(use-package visual-fill-column
|
||||||
:straight t
|
:straight t
|
||||||
:hook (org-mode . opal/org-mode-visual-fill))
|
:hook (org-mode . opal/org-mode-visual-fill))
|
||||||
|
|
||||||
;; Org Babel
|
#+end_src
|
||||||
|
|
||||||
|
** Org Babel
|
||||||
|
#+begin_src emacs-lisp
|
||||||
;; Load languages for babel code blocks.
|
;; Load languages for babel code blocks.
|
||||||
(with-eval-after-load 'org
|
(with-eval-after-load 'org
|
||||||
(org-babel-do-load-languages
|
(org-babel-do-load-languages
|
||||||
@@ -418,12 +463,45 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
|||||||
(add-to-list 'org-structure-template-alist '("css" . "src css"))
|
(add-to-list 'org-structure-template-alist '("css" . "src css"))
|
||||||
(add-to-list 'org-structure-template-alist '("cl" . "src lisp")))
|
(add-to-list 'org-structure-template-alist '("cl" . "src lisp")))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
* Programming/Editor
|
||||||
|
** General
|
||||||
|
*** Syntax (Flycheck)
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package flycheck :straight t)
|
||||||
|
#+end_src
|
||||||
|
*** Rainbow Delimiters
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package rainbow-delimiters
|
||||||
|
:straight t
|
||||||
|
:init
|
||||||
|
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
|
||||||
|
(add-hook 'org-mode-hook #'rainbow-delimiters-mode))
|
||||||
|
#+end_src
|
||||||
|
*** Rainbow Mode
|
||||||
|
Sets HTML strings to have the background of the color they represent.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package rainbow-mode :straight t)
|
||||||
|
#+end_src
|
||||||
|
** Lisp
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package parinfer
|
||||||
|
:straight t
|
||||||
|
:init
|
||||||
|
(progn
|
||||||
|
(setq parinfer-extensions
|
||||||
|
'(defaults
|
||||||
|
pretty-parens
|
||||||
|
evil))
|
||||||
|
(add-hook 'prog-mode-hook #'parinfer-mode)))
|
||||||
|
#+end_src
|
||||||
* Magit
|
* Magit
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package magit
|
(use-package magit
|
||||||
:straight t)
|
:straight t)
|
||||||
#+end_src
|
#+end_src
|
||||||
* E-Mail
|
* E-Mail
|
||||||
|
I've been using IceDove/Thunderbird for e-mail until I get around to making this a comparable solutions.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; (use-package mu4e
|
;; (use-package mu4e
|
||||||
;; :straight t
|
;; :straight t
|
||||||
@@ -459,6 +537,8 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
|||||||
;; ("/opal.sh/Drafts" . ?d))))
|
;; ("/opal.sh/Drafts" . ?d))))
|
||||||
#+end_src
|
#+end_src
|
||||||
* IRC
|
* IRC
|
||||||
|
Right now I'm pretty happy with Matrix bridging into IRC rooms so this will stay commented out for now. I might try out the Emacs Matrix client at some point soon.
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;; (use-package erc
|
;; (use-package erc
|
||||||
;; :straight t
|
;; :straight t
|
||||||
|
|||||||
79
StumpWM.org
79
StumpWM.org
@@ -1,5 +1,5 @@
|
|||||||
#+TITLE: StumpWM Configuration
|
#+TITLE: StumpWM Configuration
|
||||||
#+PROPERTY: header-args:emacs-lisp :tangle ~/Dotfiles/config/stumpwm/init.el :mkdirp yes
|
#+PROPERTY: header-args:lisp :tangle ~/Dotfiles/.config/stumpwm/config :mkdirp yes
|
||||||
|
|
||||||
In my quest to make my computer a Lisp machine in its own right, I am using StumpWM as my window manager.
|
In my quest to make my computer a Lisp machine in its own right, I am using StumpWM as my window manager.
|
||||||
|
|
||||||
@@ -9,10 +9,10 @@ In my quest to make my computer a Lisp machine in its own right, I am using Stum
|
|||||||
;; (defvar *sbcl-path* "~/.guix-home/profile/share/common-lisp/sbcl/")
|
;; (defvar *sbcl-path* "~/.guix-home/profile/share/common-lisp/sbcl/")
|
||||||
|
|
||||||
;; StumpWM Modules
|
;; StumpWM Modules
|
||||||
(stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-swm-gaps")
|
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-swm-gaps")
|
||||||
(stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-ttf-fonts")
|
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-ttf-fonts")
|
||||||
(stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-stumptray")
|
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-stumptray")
|
||||||
(stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-kbd-layouts")
|
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-kbd-layouts")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Environment
|
* Environment
|
||||||
@@ -29,24 +29,24 @@ In my quest to make my computer a Lisp machine in its own right, I am using Stum
|
|||||||
|
|
||||||
** Set Prefix
|
** Set Prefix
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
(set-prefix-key (kbd "s-d"))
|
;; (set-prefix-key (kbd "s-d"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Focus window with mouth
|
** Focus window with mouth
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
setf *mouse-focus-policy* :click)
|
;; (setf *mouse-focus-policy* :click)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Messages
|
** Messages
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
(setq *message-window-gravity* :top)
|
(setq *message-window-gravity* :top)
|
||||||
(setq *message-window-padding* 10)
|
(setq *message-window-padding* 10)
|
||||||
(setq *message-window-y-padding 10)
|
: (setq *message-window-y-padding 10)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Command Window
|
** Command Window
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
(setq *input-window-gravity* :center)
|
;; (setq *input-window-gravity* :center)
|
||||||
#+end_src
|
#+end_src
|
||||||
* Keyboard
|
* Keyboard
|
||||||
** Load Keyboard Layout Module
|
** Load Keyboard Layout Module
|
||||||
@@ -54,8 +54,8 @@ setf *mouse-focus-policy* :click)
|
|||||||
;; (load-module "kbd-layouts")
|
;; (load-module "kbd-layouts")
|
||||||
#+end_src
|
#+end_src
|
||||||
** Remap Caps Lock
|
** Remap Caps Lock
|
||||||
#+begin_src lisp
|
#+begin_src lisp :tangle yes
|
||||||
setf kbd-layouts:*caps-lock-behavior* :esc)
|
;; (setf kbd-layouts:*caps-lock-behavior* :esc)
|
||||||
#+end_src
|
#+end_src
|
||||||
** Xmodmap
|
** Xmodmap
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
@@ -70,16 +70,19 @@ setf kbd-layouts:*caps-lock-behavior* :esc)
|
|||||||
(define-key *top-map* (kbd "s-j") "move-focus down")
|
(define-key *top-map* (kbd "s-j") "move-focus down")
|
||||||
(define-key *top-map* (kbd "s-k") "move-focus up")
|
(define-key *top-map* (kbd "s-k") "move-focus up")
|
||||||
|
|
||||||
(define-key *top-map* (kbd "s-S-h") "move-window left")
|
(define-key *top-map* (kbd "s-H") "move-window left")
|
||||||
(define-key *top-map* (kbd "s-S-l") "move-window right")
|
(define-key *top-map* (kbd "s-L") "move-window right")
|
||||||
(define-key *top-map* (kbd "s-S-j") "move-window down")
|
(define-key *top-map* (kbd "s-J") "move-window down")
|
||||||
(define-key *top-map* (kbd "s-S-k") "move-window up")
|
(define-key *top-map* (kbd "s-K") "move-window up")
|
||||||
|
|
||||||
(define-key *top-map* (kbd "s-f") "fullscreen")
|
(define-key *top-map* (kbd "s-f") "fullscreen")
|
||||||
(define-key *top-map* (kbd "s-r") "iresize")
|
(define-key *top-map* (kbd "s-r") "iresize")
|
||||||
(define-key *top-map* (kbd "s-S-q") "delete")
|
(define-key *top-map* (kbd "s-Q") "delete")
|
||||||
(define-key *top-map* (kbd "s-SPC") "run-shell-command emacsclient -e \"(call-interactively #'app-launcher-run-app)\"")
|
(define-key *top-map* (kbd "s-SPC") "run-shell-command emacsclient -e \"(call-interactively #'app-launcher-run-app)\"")
|
||||||
;; (define-key *top-map* (kbd "C-s-l") "run-shell-command slock")
|
(define-key *top-map* (kbd "s-L") "run-shell-command slock")
|
||||||
|
(define-key *top-map* (kbd "s-RET") "run-shell-command alacritty")
|
||||||
|
(define-key *top-map* (kbd "s-E") "run-shell-command emacs")
|
||||||
|
(define-key *top-map* (kbd "s-W") "run-shell-command firefox")
|
||||||
|
|
||||||
(define-key *top-map* (kbd "s-TAB") "next-in-frame")
|
(define-key *top-map* (kbd "s-TAB") "next-in-frame")
|
||||||
(define-key *top-map* (kbd "s-S-TAB") "prev-in-frame")
|
(define-key *top-map* (kbd "s-S-TAB") "prev-in-frame")
|
||||||
@@ -90,11 +93,11 @@ setf kbd-layouts:*caps-lock-behavior* :esc)
|
|||||||
(define-key *top-map* (kbd "s-4") "gselect IV")
|
(define-key *top-map* (kbd "s-4") "gselect IV")
|
||||||
(define-key *top-map* (kbd "s-5") "gselect V")
|
(define-key *top-map* (kbd "s-5") "gselect V")
|
||||||
|
|
||||||
(define-key *top-map* (kbd "s-S-1") "gmove I")
|
(define-key *top-map* (kbd "s-!") "gmove I")
|
||||||
(define-key *top-map* (kbd "s-S-2") "gmove II")
|
(define-key *top-map* (kbd "s-@") "gmove II")
|
||||||
(define-key *top-map* (kbd "s-S-3") "gmove III")
|
(define-key *top-map* (kbd "s-#") "gmove III")
|
||||||
(define-key *top-map* (kbd "s-S-4") "gmove IV")
|
(define-key *top-map* (kbd "s-$") "gmove IV")
|
||||||
(define-key *top-map* (kbd "s-S-5") "gmove V")
|
(define-key *top-map* (kbd "s-%") "gmove V")
|
||||||
|
|
||||||
;; Brightness and volume
|
;; Brightness and volume
|
||||||
;; (define-key *top-map* (kbd "XF86MonBrightnessDown") "run-shell-command brightnessctl set 5%-")
|
;; (define-key *top-map* (kbd "XF86MonBrightnessDown") "run-shell-command brightnessctl set 5%-")
|
||||||
@@ -111,13 +114,13 @@ setf kbd-layouts:*caps-lock-behavior* :esc)
|
|||||||
(set-border-color "#c792ea")
|
(set-border-color "#c792ea")
|
||||||
(set-bg-color "#232635")
|
(set-bg-color "#232635")
|
||||||
(set-fg-color "#A6Accd")
|
(set-fg-color "#A6Accd")
|
||||||
(set-msg-border-width 2)
|
;; (set-msg-border-width 2)
|
||||||
#+end_src
|
#+end_src
|
||||||
** Gaps
|
** Gaps
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
(load-module "swm-gaps")
|
;; (load-module "swm-gaps")
|
||||||
(setf swm-gaps:*inner-gaps-size* 3)
|
;; (setf swm-gaps:*inner-gaps-size* 3)
|
||||||
(run-commands "toggle-gaps-on")
|
;; (run-commands "toggle-gaps-on")
|
||||||
#+end_src
|
#+end_src
|
||||||
** Fonts
|
** Fonts
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
@@ -132,28 +135,28 @@ setf kbd-layouts:*caps-lock-behavior* :esc)
|
|||||||
#+end_src
|
#+end_src
|
||||||
** Mode-Line
|
** Mode-Line
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
;; Set mode line colors
|
;; ;; Set mode line colors
|
||||||
(setf *mode-line-background-color* "#232635")
|
;; (setf *mode-line-background-color* "#232635")
|
||||||
(setf *mode-line-foreground-color* "#A6Accd")
|
;; (setf *mode-line-foreground-color* "#A6Accd")
|
||||||
|
|
||||||
;; Set the mode line format
|
;; ;; Set the mode line format
|
||||||
(setf *screen-mode-line-format* "[^B%n^b] %W ^>%d")
|
;; (setf *screen-mode-line-format* "[^B%n^b] %W ^>%d")
|
||||||
(run-commands "mode-line" "mode-line")
|
;; (run-commands "mode-line" "mode-line")
|
||||||
|
|
||||||
;; Start the mode line
|
;; ;; Start the mode line
|
||||||
(run-commands "mode-line")
|
;; (run-commands "mode-line")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** System tray
|
** System tray
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
;; Add the system tray module
|
;; ;; Add the system tray module
|
||||||
(load-module "stumptray")
|
;; (load-module "stumptray")
|
||||||
(stumptray:stumptray)
|
;; (stumptray:stumptray)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Applications
|
* Applications
|
||||||
#+begin_src lisp
|
#+begin_src lisp
|
||||||
;; (run-shell-command "feh --bg-scale ~/.dotfiles/backgrounds/samuel-ferrara-uOi3lg8fGl4-unsplash.jpg")
|
(run-shell-command "feh --bg-scale ~/.dotfiles/backgrounds/samuel-ferrara-uOi3lg8fGl4-unsplash.jpg")
|
||||||
;; (run-shell-command "dunst")
|
;; (run-shell-command "dunst")
|
||||||
;; (run-shell-command "nm-applet")
|
;; (run-shell-command "nm-applet")
|
||||||
;; (run-shell-command "syncthing-gtk --minimized")
|
;; (run-shell-command "syncthing-gtk --minimized")
|
||||||
|
|||||||
Reference in New Issue
Block a user