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
|
||||
Port 993
|
||||
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
|
||||
CertificateFile /etc/ssl/certs/ca-bundle.crt
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
IMAPStore opal-remote
|
||||
Account opal.sh
|
||||
|
||||
MaildirStore opal-local
|
||||
Path ~/mail/opal.sh/
|
||||
Inbox ~/mail/opal.sh/Inbox
|
||||
Trash ~/mail/opal.sh/Trash
|
||||
Path ~/Mail/opal.sh/
|
||||
Inbox ~/Mail/opal.sh/Inbox
|
||||
Trash ~/Mail/opal.sh/Trash
|
||||
SubFolders Verbatim
|
||||
|
||||
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
|
||||
236
New-Emacs.org
236
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
|
||||
#+PROPERTY: header-args:emacs-lisp :tangle ~/Dotfiles/config/emacs/init.el :mkdirp yes :lexical yes
|
||||
|
||||
Todo:
|
||||
- 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
|
||||
(setq visible-bell t) ;; Visible flash to represent a bell
|
||||
(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.
|
||||
(dolist (mode '(org-mode-hook
|
||||
term-mode-hook
|
||||
shell-mode-hook
|
||||
eshell-mode-hook))
|
||||
(dolist (mode '(org-mode-hook))
|
||||
'term-mode-hook
|
||||
'shell-mode-hook
|
||||
'eshell-mode-hook
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
#+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
|
||||
:straight t
|
||||
:config
|
||||
(super-save-mode +1)
|
||||
(super-save-auto-save-when-idle t))
|
||||
(super-save-mode +1))
|
||||
|
||||
;; Auto reverting Changed Files
|
||||
(setq global-auto-revert-non-file-buffers t)
|
||||
(global-auto-revert-mode 1)
|
||||
(setq global-auto-revert-non-file-buffers nil)
|
||||
(global-auto-revert-mode -1)
|
||||
#+end_src
|
||||
* 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.
|
||||
@@ -131,8 +132,8 @@ I really enjoy [[https://protesilaos.com/emacs/modus-themes][Modus Themes]] by P
|
||||
:straight t
|
||||
:init
|
||||
(setq modus-themes-italic-constructs t
|
||||
modus-themes-bold-constructs nil
|
||||
modus-themes-region '(accented bg-only no-extend)
|
||||
modus-themes-bold-constructs nil
|
||||
modus-themes-region '(accented bg-only no-extend)
|
||||
modus-themes-org-blocks 'greyscale
|
||||
modus-themes-paren-match 'intense
|
||||
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
|
||||
"u" #'universal-argument ;; Universal argument
|
||||
"w" #'evil-window-map ;; Window functions
|
||||
"h" #'help-map ;; Helper functions
|
||||
"." #'find-file ;; Find file (opens in mini-buffer)
|
||||
"," #'persp-switch-to-buffer ;; Switch to 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
|
||||
|
||||
** Evil
|
||||
@@ -218,26 +249,25 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
||||
** Ivy
|
||||
#+begin_src emacs-lisp
|
||||
(use-package ivy
|
||||
:straight t
|
||||
:diminish
|
||||
:bind
|
||||
(("C-s" . swiper)
|
||||
:map ivy-minibuffer-map
|
||||
("TAB" . ivy-alt-done)
|
||||
("C-l" . ivy-alt-done)
|
||||
("C-j" . ivy-next-line)
|
||||
("C-k" . ivy-previous-line)
|
||||
:map ivy-switch-buffer-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-l" . ivy-done)
|
||||
("C-d" . ivy-reverse-i-search-kill))
|
||||
:config
|
||||
(ivy-mode 1))
|
||||
:straight t
|
||||
:diminish
|
||||
:bind (("C-s" . 'swiper)
|
||||
:map ivy-minibuffer-map
|
||||
("TAB" . ivy-alt-done)
|
||||
("C-l" . ivy-alt-done)
|
||||
("C-j" . ivy-next-line)
|
||||
("C-k" . ivy-previous-line)
|
||||
:map ivy-switch-buffer-map
|
||||
("C-k" . ivy-previous-line)
|
||||
("C-l" . ivy-done)
|
||||
("C-d" . ivy-reverse-i-search-kill))
|
||||
:config
|
||||
(ivy-mode 1))
|
||||
|
||||
(use-package ivy-rich
|
||||
:straight t
|
||||
:after ivy
|
||||
:init (icy-rich-mode 1)))
|
||||
:init (ivy-rich-mode 1))
|
||||
#+end_src
|
||||
|
||||
** 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
|
||||
|
||||
* Org
|
||||
|
||||
#+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 ()
|
||||
;; Replace list hyphen with dot
|
||||
(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-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 ()
|
||||
(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
|
||||
'("~/Org/projects/"
|
||||
"~/Org/tasks/"
|
||||
))
|
||||
"~/Org/tasks/"))
|
||||
|
||||
|
||||
(require 'org-habit)
|
||||
(add-to-list 'org-modules 'org-habit)
|
||||
(setq org-habit-graph-column 60)
|
||||
|
||||
(setq org-todo-keywords
|
||||
'((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 "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@)")))
|
||||
|
||||
(setq org-refile-targets
|
||||
'(("archive.org" :maxlevel . 1)
|
||||
("planner.org" :maxlevel . 1)))
|
||||
'(("archive.org" :maxlevel . 1)
|
||||
("planner.org" :maxlevel . 1)))
|
||||
|
||||
;; Save Org buffers after refiling!
|
||||
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
||||
|
||||
(setq org-tag-alist
|
||||
'((:startgroup)
|
||||
; Put mutually exclusive tags here
|
||||
(:endgroup)
|
||||
("@errand" . ?E)
|
||||
("@home" . ?H)
|
||||
("@work" . ?W)
|
||||
("agenda" . ?a)
|
||||
("planning" . ?p)
|
||||
("publish" . ?P)
|
||||
("batch" . ?b)
|
||||
("note" . ?n)
|
||||
("idea" . ?i)))
|
||||
'((:startgroup)
|
||||
; Put mutually exclusive tags here
|
||||
(:endgroup)
|
||||
("@errand" . ?E)
|
||||
("@home" . ?H)
|
||||
("@work" . ?W)
|
||||
("agenda" . ?a)
|
||||
("planning" . ?p)
|
||||
("publish" . ?P)
|
||||
("batch" . ?b)
|
||||
("note" . ?n)
|
||||
("idea" . ?i)))
|
||||
|
||||
;; Configure custom agenda views
|
||||
(setq org-agenda-custom-commands
|
||||
'(("d" "Dashboard"
|
||||
((agenda "" ((org-deadline-warning-days 7)))
|
||||
(todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))
|
||||
(tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects")))))
|
||||
'(("d" "Dashboard"
|
||||
((agenda "" ((org-deadline-warning-days 7)))
|
||||
(todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))
|
||||
(tags-todo "agenda/ACTIVE" ((org-agenda-overriding-header "Active Projects")))))
|
||||
|
||||
("n" "Next Tasks"
|
||||
((todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))))
|
||||
("n" "Next Tasks"
|
||||
((todo "NEXT"
|
||||
((org-agenda-overriding-header "Next Tasks")))))
|
||||
|
||||
;; Low-effort next actions
|
||||
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
||||
((org-agenda-overriding-header "Low Effort Tasks")
|
||||
(org-agenda-max-todos 20)
|
||||
(org-agenda-files org-agenda-files)))))
|
||||
;; Low-effort next actions
|
||||
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
||||
((org-agenda-overriding-header "Low Effort Tasks")
|
||||
(org-agenda-max-todos 20)
|
||||
(org-agenda-files org-agenda-files)))))
|
||||
|
||||
;; Create capture templates
|
||||
(setq org-capture-templates
|
||||
`(("t" "Tasks")
|
||||
("tt" "Task" entry (file+olp "~/org/planner/tasks.org" "Inbox")
|
||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||
`(("t" "Tasks")
|
||||
("tt" "Task" entry (file+olp "~/org/planner/tasks.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)))
|
||||
|
||||
("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
|
||||
(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
|
||||
:straight t
|
||||
:after org
|
||||
:hook (org-mode . org-bullets-mode)
|
||||
:custom
|
||||
(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 ()
|
||||
(setq visual-fill-column-width 100
|
||||
visual-fill-column-center-text t)
|
||||
visual-fill-column-center-text t)
|
||||
(visual-fill-column-mode 1))
|
||||
|
||||
(use-package visual-fill-column
|
||||
:straight t
|
||||
:hook (org-mode . opal/org-mode-visual-fill))
|
||||
|
||||
;; Org Babel
|
||||
#+end_src
|
||||
|
||||
** Org Babel
|
||||
#+begin_src emacs-lisp
|
||||
;; Load languages for babel code blocks.
|
||||
(with-eval-after-load 'org
|
||||
(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 '("cl" . "src lisp")))
|
||||
#+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
|
||||
#+begin_src emacs-lisp
|
||||
(use-package magit
|
||||
:straight t)
|
||||
#+end_src
|
||||
* 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
|
||||
;; (use-package mu4e
|
||||
;; :straight t
|
||||
@@ -458,7 +536,9 @@ At the moment, I'm trying out Ivy and counsel but I've used Vertico and liked it
|
||||
;; ("/opal.sh/Trash" . ?t)
|
||||
;; ("/opal.sh/Drafts" . ?d))))
|
||||
#+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
|
||||
;; (use-package erc
|
||||
;; :straight t
|
||||
|
||||
83
StumpWM.org
83
StumpWM.org
@@ -1,5 +1,5 @@
|
||||
#+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.
|
||||
|
||||
@@ -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/")
|
||||
|
||||
;; 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-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-kbd-layouts")
|
||||
;; (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-stumptray")
|
||||
;; (stumpwm:add-to-load-path "~/.guix-home/profile/share/common-lisp/sbcl/stumpwm-kbd-layouts")
|
||||
#+end_src
|
||||
|
||||
* 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
|
||||
#+begin_src lisp
|
||||
(set-prefix-key (kbd "s-d"))
|
||||
;; (set-prefix-key (kbd "s-d"))
|
||||
#+end_src
|
||||
|
||||
** Focus window with mouth
|
||||
#+begin_src lisp
|
||||
setf *mouse-focus-policy* :click)
|
||||
;; (setf *mouse-focus-policy* :click)
|
||||
#+end_src
|
||||
|
||||
** Messages
|
||||
#+begin_src lisp
|
||||
(setq *message-window-gravity* :top)
|
||||
(setq *message-window-padding* 10)
|
||||
(setq *message-window-y-padding 10)
|
||||
: (setq *message-window-y-padding 10)
|
||||
#+end_src
|
||||
|
||||
** Command Window
|
||||
#+begin_src lisp
|
||||
(setq *input-window-gravity* :center)
|
||||
;; (setq *input-window-gravity* :center)
|
||||
#+end_src
|
||||
* Keyboard
|
||||
** Load Keyboard Layout Module
|
||||
@@ -54,8 +54,8 @@ setf *mouse-focus-policy* :click)
|
||||
;; (load-module "kbd-layouts")
|
||||
#+end_src
|
||||
** Remap Caps Lock
|
||||
#+begin_src lisp
|
||||
setf kbd-layouts:*caps-lock-behavior* :esc)
|
||||
#+begin_src lisp :tangle yes
|
||||
;; (setf kbd-layouts:*caps-lock-behavior* :esc)
|
||||
#+end_src
|
||||
** Xmodmap
|
||||
#+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-k") "move-focus up")
|
||||
|
||||
(define-key *top-map* (kbd "s-S-h") "move-window left")
|
||||
(define-key *top-map* (kbd "s-S-l") "move-window right")
|
||||
(define-key *top-map* (kbd "s-S-j") "move-window down")
|
||||
(define-key *top-map* (kbd "s-S-k") "move-window up")
|
||||
(define-key *top-map* (kbd "s-H") "move-window left")
|
||||
(define-key *top-map* (kbd "s-L") "move-window right")
|
||||
(define-key *top-map* (kbd "s-J") "move-window down")
|
||||
(define-key *top-map* (kbd "s-K") "move-window up")
|
||||
|
||||
(define-key *top-map* (kbd "s-f") "fullscreen")
|
||||
(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 "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-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-5") "gselect V")
|
||||
|
||||
(define-key *top-map* (kbd "s-S-1") "gmove I")
|
||||
(define-key *top-map* (kbd "s-S-2") "gmove II")
|
||||
(define-key *top-map* (kbd "s-S-3") "gmove III")
|
||||
(define-key *top-map* (kbd "s-S-4") "gmove IV")
|
||||
(define-key *top-map* (kbd "s-S-5") "gmove V")
|
||||
(define-key *top-map* (kbd "s-!") "gmove I")
|
||||
(define-key *top-map* (kbd "s-@") "gmove II")
|
||||
(define-key *top-map* (kbd "s-#") "gmove III")
|
||||
(define-key *top-map* (kbd "s-$") "gmove IV")
|
||||
(define-key *top-map* (kbd "s-%") "gmove V")
|
||||
|
||||
;; Brightness and volume
|
||||
;; (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-bg-color "#232635")
|
||||
(set-fg-color "#A6Accd")
|
||||
(set-msg-border-width 2)
|
||||
;; (set-msg-border-width 2)
|
||||
#+end_src
|
||||
** Gaps
|
||||
#+begin_src lisp
|
||||
(load-module "swm-gaps")
|
||||
(setf swm-gaps:*inner-gaps-size* 3)
|
||||
(run-commands "toggle-gaps-on")
|
||||
;; (load-module "swm-gaps")
|
||||
;; (setf swm-gaps:*inner-gaps-size* 3)
|
||||
;; (run-commands "toggle-gaps-on")
|
||||
#+end_src
|
||||
** Fonts
|
||||
#+begin_src lisp
|
||||
@@ -132,28 +135,28 @@ setf kbd-layouts:*caps-lock-behavior* :esc)
|
||||
#+end_src
|
||||
** Mode-Line
|
||||
#+begin_src lisp
|
||||
;; Set mode line colors
|
||||
(setf *mode-line-background-color* "#232635")
|
||||
(setf *mode-line-foreground-color* "#A6Accd")
|
||||
;; ;; Set mode line colors
|
||||
;; (setf *mode-line-background-color* "#232635")
|
||||
;; (setf *mode-line-foreground-color* "#A6Accd")
|
||||
|
||||
;; Set the mode line format
|
||||
(setf *screen-mode-line-format* "[^B%n^b] %W ^>%d")
|
||||
(run-commands "mode-line" "mode-line")
|
||||
;; ;; Set the mode line format
|
||||
;; (setf *screen-mode-line-format* "[^B%n^b] %W ^>%d")
|
||||
;; (run-commands "mode-line" "mode-line")
|
||||
|
||||
;; Start the mode line
|
||||
(run-commands "mode-line")
|
||||
;; ;; Start the mode line
|
||||
;; (run-commands "mode-line")
|
||||
#+end_src
|
||||
|
||||
** System tray
|
||||
#+begin_src lisp
|
||||
;; Add the system tray module
|
||||
(load-module "stumptray")
|
||||
(stumptray:stumptray)
|
||||
;; ;; Add the system tray module
|
||||
;; (load-module "stumptray")
|
||||
;; (stumptray:stumptray)
|
||||
#+end_src
|
||||
|
||||
* Applications
|
||||
#+begin_src lisp
|
||||
;; (run-shell-command "feh --bg-scale ~/.dotfiles/backgrounds/samuel-ferrara-uOi3lg8fGl4-unsplash.jpg")
|
||||
#+begin_src lisp
|
||||
(run-shell-command "feh --bg-scale ~/.dotfiles/backgrounds/samuel-ferrara-uOi3lg8fGl4-unsplash.jpg")
|
||||
;; (run-shell-command "dunst")
|
||||
;; (run-shell-command "nm-applet")
|
||||
;; (run-shell-command "syncthing-gtk --minimized")
|
||||
@@ -162,7 +165,7 @@ setf kbd-layouts:*caps-lock-behavior* :esc)
|
||||
#+end_src
|
||||
|
||||
* Repl Start
|
||||
#+begin_src lisp
|
||||
#+begin_src lisp
|
||||
(require :slynk)
|
||||
(slynk:create-server :dont-close t)
|
||||
#+end_src
|
||||
|
||||
Reference in New Issue
Block a user