Fleshed out new emacs config, added Guix.org, added Stump

This commit is contained in:
opal
2021-12-19 18:44:35 -08:00
parent bca10bd035
commit f94954578b
6 changed files with 286 additions and 138 deletions

Binary file not shown.

View File

@@ -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

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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")