summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules20
-rw-r--r--tw/home/files/XCompose (renamed from XCompose)0
-rw-r--r--tw/home/files/Xresources (renamed from Xresources)0
m---------tw/home/files/catppuccin/dunst (renamed from catppuccin/dunst)0
m---------tw/home/files/catppuccin/emacs (renamed from catppuccin/emacs)0
m---------tw/home/files/catppuccin/kde (renamed from catppuccin/kde)0
m---------tw/home/files/catppuccin/kitty (renamed from catppuccin/kitty)0
m---------tw/home/files/catppuccin/neomutt (renamed from catppuccin/neomutt)0
m---------tw/home/files/catppuccin/newsboat (renamed from catppuccin/newsboat)0
m---------tw/home/files/catppuccin/polybar (renamed from catppuccin/polybar)0
m---------tw/home/files/catppuccin/rofi (renamed from catppuccin/rofi)0
m---------tw/home/files/catppuccin/zathura (renamed from catppuccin/zathura)0
-rw-r--r--tw/home/files/cursors.ini (renamed from cursors.ini)0
-rw-r--r--tw/home/files/dunstrc (renamed from dunstrc)0
-rw-r--r--tw/home/files/emacs-init.el (renamed from emacs-init.el)155
-rw-r--r--tw/home/files/emacs-packages/actionlint.el (renamed from emacs-packages/actionlint.el)0
-rw-r--r--tw/home/files/emacs-packages/alidist-mode.el (renamed from emacs-packages/alidist-mode.el)0
-rw-r--r--tw/home/files/emacs-packages/bemscript-mode.el (renamed from emacs-packages/bemscript-mode.el)0
-rw-r--r--tw/home/files/emacs-packages/environmentd-mode.el (renamed from emacs-packages/environmentd-mode.el)0
-rw-r--r--tw/home/files/emacs-packages/ifm-mode.el (renamed from emacs-packages/ifm-mode.el)0
-rw-r--r--tw/home/files/emacs-packages/org-latex-classes.el (renamed from emacs-packages/org-latex-classes.el)0
-rw-r--r--tw/home/files/emacs-packages/pam-env-mode.el (renamed from emacs-packages/pam-env-mode.el)0
-rw-r--r--tw/home/files/emacs-packages/vcard-mode.el (renamed from emacs-packages/vcard-mode.el)0
-rw-r--r--tw/home/files/gitconfig (renamed from gitconfig)0
-rw-r--r--tw/home/files/gpg-agent.conf (renamed from gpg-agent.conf)0
-rw-r--r--tw/home/files/gpg.conf (renamed from gpg.conf)0
-rw-r--r--tw/home/files/gtk2.ini (renamed from gtk2.ini)0
-rw-r--r--tw/home/files/gtk3.ini (renamed from gtk3.ini)0
-rw-r--r--tw/home/files/htoprc (renamed from htoprc)0
-rw-r--r--tw/home/files/i3.conf (renamed from i3.conf)0
-rw-r--r--tw/home/files/khal.conf (renamed from khal.conf)0
-rw-r--r--tw/home/files/khard.conf (renamed from khard.conf)0
-rw-r--r--tw/home/files/kitty.conf (renamed from kitty.conf)0
-rw-r--r--tw/home/files/lesskey (renamed from lesskey)0
-rw-r--r--tw/home/files/mailcap (renamed from mailcap)0
-rw-r--r--tw/home/files/muttrc (renamed from muttrc)0
m---------tw/home/files/neomutt (renamed from neomutt)0
-rw-r--r--tw/home/files/newsboat.conf (renamed from newsboat.conf)0
-rwxr-xr-xtw/home/files/passmenu (renamed from passmenu)0
-rw-r--r--tw/home/files/picom.conf (renamed from picom.conf)0
-rw-r--r--tw/home/files/polybar.ini (renamed from polybar.ini)0
-rw-r--r--tw/home/files/prompt.zsh (renamed from prompt.zsh)7
-rw-r--r--tw/home/files/ranger.conf (renamed from ranger.conf)0
-rw-r--r--tw/home/files/rofi.rasi (renamed from rofi.rasi)0
-rwxr-xr-xtw/home/files/sessionmenu (renamed from sessionmenu)0
-rw-r--r--tw/home/files/user-dirs.dirs (renamed from user-dirs.dirs)0
-rw-r--r--tw/home/files/vdirsyncer.conf (renamed from vdirsyncer.conf)0
-rw-r--r--tw/home/files/vim-keys.muttrc (renamed from vim-keys.muttrc)0
-rwxr-xr-xtw/home/files/volume (renamed from volume)0
-rw-r--r--tw/home/files/zathurarc (renamed from zathurarc)0
-rw-r--r--tw/home/files/zshrc (renamed from zshrc)0
-rw-r--r--tw/home/lap.scm (renamed from home-configuration.scm)134
52 files changed, 175 insertions, 141 deletions
diff --git a/.gitmodules b/.gitmodules
index f36dc900..dc51e262 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,30 +1,30 @@
[submodule "catppuccin/kitty"]
- path = catppuccin/kitty
+ path = tw/home/files/catppuccin/kitty
url = https://github.com/catppuccin/kitty
[submodule "catppuccin/rofi"]
- path = catppuccin/rofi
+ path = tw/home/files/catppuccin/rofi
url = https://github.com/catppuccin/rofi
[submodule "catppuccin/dunst"]
- path = catppuccin/dunst
+ path = tw/home/files/catppuccin/dunst
url = https://github.com/catppuccin/dunst
[submodule "catppuccin/zathura"]
- path = catppuccin/zathura
+ path = tw/home/files/catppuccin/zathura
url = https://github.com/catppuccin/zathura
[submodule "catppuccin/neomutt"]
- path = catppuccin/neomutt
+ path = tw/home/files/catppuccin/neomutt
url = https://github.com/catppuccin/neomutt
[submodule "catppuccin/polybar"]
- path = catppuccin/polybar
+ path = tw/home/files/catppuccin/polybar
url = https://github.com/catppuccin/polybar
[submodule "catppuccin/emacs"]
- path = catppuccin/emacs
+ path = tw/home/files/catppuccin/emacs
url = https://github.com/catppuccin/emacs
[submodule "catppuccin/kde"]
- path = catppuccin/kde
+ path = tw/home/files/catppuccin/kde
url = https://github.com/catppuccin/kde
[submodule "catppuccin/newsboat"]
- path = catppuccin/newsboat
+ path = tw/home/files/catppuccin/newsboat
url = https://github.com/catppuccin/newsboat
[submodule "neomutt"]
- path = neomutt
+ path = tw/home/files/neomutt
url = https://github.com/neomutt/neomutt
diff --git a/XCompose b/tw/home/files/XCompose
index cb73e833..cb73e833 100644
--- a/XCompose
+++ b/tw/home/files/XCompose
diff --git a/Xresources b/tw/home/files/Xresources
index ba534392..ba534392 100644
--- a/Xresources
+++ b/tw/home/files/Xresources
diff --git a/catppuccin/dunst b/tw/home/files/catppuccin/dunst
-Subproject a72991e56338289a9fce941b5df9f0509d2cba0
+Subproject a72991e56338289a9fce941b5df9f0509d2cba0
diff --git a/catppuccin/emacs b/tw/home/files/catppuccin/emacs
-Subproject b4be30de73aa295ab56a20c21dff07fba3dec05
+Subproject b4be30de73aa295ab56a20c21dff07fba3dec05
diff --git a/catppuccin/kde b/tw/home/files/catppuccin/kde
-Subproject d95dd080b3e6a064390aceb8af0a6dc9506a40c
+Subproject d95dd080b3e6a064390aceb8af0a6dc9506a40c
diff --git a/catppuccin/kitty b/tw/home/files/catppuccin/kitty
-Subproject 43b08da1e1168aff2edb74105f293a90b4567c4
+Subproject 43b08da1e1168aff2edb74105f293a90b4567c4
diff --git a/catppuccin/neomutt b/tw/home/files/catppuccin/neomutt
-Subproject f6ce83da47cc36d5639b0d54e7f5f63cdaf69f1
+Subproject f6ce83da47cc36d5639b0d54e7f5f63cdaf69f1
diff --git a/catppuccin/newsboat b/tw/home/files/catppuccin/newsboat
-Subproject be3d0ee1ba0fc26baf7a47c2aa7032b7541deb0
+Subproject be3d0ee1ba0fc26baf7a47c2aa7032b7541deb0
diff --git a/catppuccin/polybar b/tw/home/files/catppuccin/polybar
-Subproject 9ee66f83335404186ce979bac32fcf3cd047396
+Subproject 9ee66f83335404186ce979bac32fcf3cd047396
diff --git a/catppuccin/rofi b/tw/home/files/catppuccin/rofi
-Subproject 62a78eaf0e12b69b75fdee9def6d333cebcb74a
+Subproject 62a78eaf0e12b69b75fdee9def6d333cebcb74a
diff --git a/catppuccin/zathura b/tw/home/files/catppuccin/zathura
-Subproject d85d8750acd0b0247aa10e0653998180391110a
+Subproject d85d8750acd0b0247aa10e0653998180391110a
diff --git a/cursors.ini b/tw/home/files/cursors.ini
index c4eb9cdb..c4eb9cdb 100644
--- a/cursors.ini
+++ b/tw/home/files/cursors.ini
diff --git a/dunstrc b/tw/home/files/dunstrc
index c64d374f..c64d374f 100644
--- a/dunstrc
+++ b/tw/home/files/dunstrc
diff --git a/emacs-init.el b/tw/home/files/emacs-init.el
index 8badabce..daf6f737 100644
--- a/emacs-init.el
+++ b/tw/home/files/emacs-init.el
@@ -10,37 +10,36 @@
(defun tw/xdg-emacs-subdir (type name)
"Get the name of a subdirectory called NAME under $XDG_<TYPE>_HOME/emacs."
(expand-file-name
- (concat (string-trim-right name "/") "/")
- (expand-file-name
- "emacs/" (pcase type
- ('cache (or (getenv "XDG_CACHE_HOME") "~/.cache/"))
- ('config (or (getenv "XDG_CONFIG_HOME") "~/.config/"))
- ('data (or (getenv "XDG_DATA_HOME") "~/.local/share/"))
- ;; The following two are Guix/GuixSD extensions.
- ('log (or (getenv "XDG_LOG_HOME") "~/.local/var/log/"))
- ('state (or (getenv "XDG_STATE_HOME") "~/.local/var/lib/"))
- (_ (error "Unknown XDG directory type: %S" type))))))
+ (concat "emacs/" (string-trim-right name "/") "/")
+ (pcase type
+ ('cache (or (getenv "XDG_CACHE_HOME") "~/.cache/"))
+ ('config (or (getenv "XDG_CONFIG_HOME") "~/.config/"))
+ ('data (or (getenv "XDG_DATA_HOME") "~/.local/share/"))
+ ;; The following two are Guix/GuixSD extensions.
+ ('log (or (getenv "XDG_LOG_HOME") "~/.local/var/log/"))
+ ('state (or (getenv "XDG_STATE_HOME") "~/.local/var/lib/"))
+ (_ (error "Unknown XDG directory type: %S" type)))))
;; Global/built-in Custom settings
;; Apply these as early as possible so that e.g. the native-comp files go to the right place.
(mapc (apply-partially #'apply #'customize-set-variable)
`((native-comp-async-report-warnings-errors silent "Don't pop up Warnings buffer for native compilation.")
(native-compile-target-directory ,(tw/xdg-emacs-subdir 'cache "eln") "Put native-compiled binaries in the cache.")
+ ;; Emacs GUI customization.
(inhibit-startup-screen t "Don't show the startup screen with help links.")
- (indent-tabs-mode nil "Always use spaces to indent.")
- (sh-basic-offset 2 "Use 2 spaces for `sh-mode' indents.")
(menu-bar-mode nil "Hide the menu bar globally.")
(tool-bar-mode nil "Hide the tool bar globally.")
(tooltip-mode nil "Show tooltips in the echo area instead.")
+ (max-mini-window-height 3 "Let the echo area grow to a maximum of 3 lines, e.g. when using `eldoc-mode'.")
+ (scroll-up-aggressively 0.0 "Don't recenter the window if the point moves off the page.")
+ (scroll-down-aggressively 0.0 "Don't recenter the window if the point moves off the page.")
+ ;; Indentation.
+ (indent-tabs-mode nil "Always use spaces to indent.")
+ ;; Niceties.
(global-hl-line-mode t "Highlight the current line in all buffers.")
(column-number-mode t "Show the column number in the statusline.")
(electric-pair-mode t "Auto-pair suitable characters like parentheses.")
- (backup-directory-alist (("." . ,(tw/xdg-emacs-subdir 'data "backup"))) "Save all backup files in one place to avoid clutter.")
- (scroll-up-aggressively 0.0 "Don't recenter the window if the point moves off the page.")
- (scroll-down-aggressively 0.0 "Don't recenter the window if the point moves off the page.")
- (max-mini-window-height 3 "Let the echo area grow to a maximum of 4 lines, e.g. when using `eldoc-mode'.")
- (package-archives nil "Don't fetch packages from the internet; only get them from Guix.")
- (recentf-max-saved-items 10000 "Save lots of recently-opened files.")))
+ (completion-cycle-threshold 6 "Allow cycling through completions if there are 6 or fewer of them.")))
(defalias 'yes-or-no-p #'y-or-n-p
"Always use `y-or-n-p' when asking for confirmation.")
@@ -50,9 +49,7 @@
`((,(rx (or bos "/") "PKGBUILD" eos) . sh-mode)
(,(rx ".install" eos) . sh-mode)
(,(rx bos "/tmp/neomutt-") . mail-mode)
- (,(rx "." (1+ anything) "rc" eos) . conf-unix-mode)
- (,(rx ".gnuplot" eos) . gnuplot-mode)
- (,(rx ".aurora" eos) . python-mode)))
+ (,(rx "." (1+ anything) "rc" eos) . conf-unix-mode)))
(add-to-list 'magic-mode-alist
`(,(rx "#!" (* (not space))
@@ -98,9 +95,33 @@
(sml/theme 'respectful "Make `smart-mode-line' blend in with the active theme.")
:config (sml/setup))
+;; Built-in Emacs stuff.
+(use-package package
+ :custom
+ (package-archives nil "Don't fetch packages from the internet; only get them from Guix."))
+
+(use-package recentf
+ :custom
+ (recentf-max-saved-items 1000 "Save lots of recently-opened files.")
+ (recentf-save-file ,(tw/xdg-emacs-subdir 'data "recentf") "Save recently-opened files here.")
+ (recentf-mode t "Save recently-opened files."))
+
+(use-package savehist
+ :custom
+ (savehist-file ,(tw/xdg-emacs-subdir 'data "history") "Save minibuffer history here.")
+ (savehist-mode t "Save minibuffer history on quit."))
+
+(use-package files
+ :custom
+ (backup-directory-alist `(("." . ,(tw/xdg-emacs-subdir 'data "backup")))
+ "Save all backup files in one place to avoid clutter."))
+
;; General editor behaviour.
(use-package ivy
:commands (ivy-mode) :demand t
+ :custom
+ (ivy-use-selectable-prompt t "Allow selecting the ivy input as-is.")
+ (ivy-use-virtual-buffers t "Show recentf and bookmarks in buffers list.")
:config (ivy-mode +1)
:diminish ivy-mode)
@@ -164,31 +185,16 @@
"<leader>gM" '("merge" . "Version control merging"))
:bind-keymap ("<leader>g" . vc-prefix-map))
-(use-package company
- :hook (prog-mode ledger-mode)
- ;; Use TAB for selecting completions. Config from:
- ;; https://github.com/company-mode/company-mode/blob/master/company-tng.el
- :bind (:map company-active-map
- ([tab] . company-select-next)
- ([backtab] . company-select-previous))
- :custom
- (company-minimum-prefix-length 2 "Start showing completion candidates slightly earlier.")
- (company-idle-delay (lambda () (if (company-in-string-or-comment) nil 0.3))
- "Automatically show completions when editing non-comment parts of code.")
- :diminish company-mode)
-
-(use-package company-quickhelp
- :after (company autothemer) ; autothemer needed for `tw/get-catppuccin-color'
- :hook company-mode
+(use-package corfu ; https://github.com/minad/corfu
+ :hook (prog-mode ledger-mode shell-mode eshell-mode)
:custom
- (company-quickhelp-delay 0.2 "Automatically show quickhelp for completions.")
- (company-quickhelp-color-background (tw/get-catppuccin-color "surface0") "Give the quickhelp tooltip a nicer background colour.")
- (company-quickhelp-color-foreground (tw/get-catppuccin-color "text") "Give the quickhelp tooltip the default text colour."))
+ (corfu-auto t "Show completion popup after a few seconds automatically.")
+ :diminish corfu-mode)
-(use-package company-posframe
- :after (company company-quickhelp)
- :hook company-mode
- :diminish company-posframe-mode)
+(use-package corfu-doc
+ :after (corfu)
+ :hook (corfu-mode)
+ :diminish corfu-doc-mode)
(use-package flyspell
:hook mail-mode)
@@ -233,27 +239,47 @@
(add-hook 'eglot-managed-mode-hook #'tw/help-is-eldoc))
;; Non-LSP language modes.
-(use-package mmm-mode
- :commands (mmm-mode))
(use-package cmake-mode
:mode (rx (or (: (or bos "/") "CMakeLists.txt") ".cmake") eos))
+
+(use-package gnuplot
+ :commands (gnuplot-mode gnuplot-make-buffer)
+ :mode ((rx ".gnuplot" eos) . gnuplot-mode))
+
+(use-package graphviz-dot-mode
+ :mode (rx ".dot" eos)
+ :custom (graphviz-dot-view-command "xdot %s" "Use xdot for previewing graphviz files."))
+
+(use-package hcl-mode
+ :mode (rx "." (or "hcl" "nomad") eos))
+
+(use-package mmm-mode
+ :commands (mmm-mode))
+
(use-package puppet-mode
:mode (rx ".pp" eos))
-(use-package web-mode
- :mode (rx "." (or "htm" "html" "js" "css" "scss") eos))
-(use-package yaml-mode
- :mode (rx ".y" (? "a") "ml" eos))
+
+(use-package python
+ :commands (python-mode)
+ :mode (((rx ".py" (? (or ?\i ?\w)) eos) . python-mode)
+ ((rx ".aurora" eos) . python-mode)))
+
(use-package rec-mode
:mode (rx ".rec" eos))
-(use-package hcl-mode
- :mode (rx "." (or "hcl" "nomad") eos))
-(use-package graphviz-dot-mode
- :mode (rx ".dot" eos)
- :custom (graphviz-dot-view-command "xdot %s" "Use xdot for previewing graphviz files."))
+
+(use-package sh-script ; built-in
+ :custom (sh-basic-offset 2 "Use 2 spaces for `sh-mode' indents."))
+
(use-package tcl
:mode ((rx ".tcl" eos) . tcl-mode)
:magic ((rx "#%Module1.0") . tcl-mode))
+(use-package web-mode
+ :mode (rx "." (or "htm" "html" "js" "css" "scss") eos))
+
+(use-package yaml-mode
+ :mode (rx ".y" (? "a") "ml" eos))
+
(use-package ledger-mode
:mode (rx ".journal" eos)
:custom
@@ -329,7 +355,7 @@
(use-package ob-rec
;; `org-babel' hooks for `rec-mode'
- :after (org ob)
+ :after (org ob rec-mode)
:load-path "include/")
(use-package vcard-mode
@@ -347,6 +373,14 @@
(interactive)
(switch-to-buffer (generate-new-buffer "untitled")))
+(defun tw/delete-current-buffer-file ()
+ "Ask for confirmation, then delete the file associated with the current buffer."
+ (interactive)
+ (let ((buffer (current-buffer)))
+ (when (yes-or-no-p (concat "Delete `" (buffer-file-name buffer) "'?"))
+ (delete-file (buffer-file-name buffer))
+ (kill-buffer buffer))))
+
(use-package evil
:after (which-key)
:commands (evil-mode evil-ex-nohighlight)
@@ -376,6 +410,7 @@
(kbd "<leader>bn") #'tw/new-buffer
(kbd "<leader>br") #'revert-buffer-quick
(kbd "<leader>bx") #'kill-buffer-and-window
+ (kbd "<leader>fd") #'tw/delete-current-buffer-file
(kbd "<leader>ff") #'find-file
(kbd "<leader>fs") #'save-buffer
(kbd "<leader>h") help-map
@@ -520,14 +555,6 @@
(add-hook 'emacs-lisp-mode-hook #'tw/emacs-lisp-evil-setup)
-(defun tw/hack-guile-indents ()
- "Set the proper `scheme-indent-function' for Guix macros."
- (put 'modify-phases 'scheme-indent-function 1)
- (put 'add-before 'scheme-indent-function 2)
- (put 'substitute* 'scheme-indent-function 1))
-
-(add-hook 'scheme-mode-hook #'tw/hack-guile-indents)
-
(evil-define-key '(normal visual) emacs-lisp-mode-map
(kbd "<localleader>eb") #'eval-buffer
(kbd "<localleader>ef") #'eval-defun
diff --git a/emacs-packages/actionlint.el b/tw/home/files/emacs-packages/actionlint.el
index 3c37e34b..3c37e34b 100644
--- a/emacs-packages/actionlint.el
+++ b/tw/home/files/emacs-packages/actionlint.el
diff --git a/emacs-packages/alidist-mode.el b/tw/home/files/emacs-packages/alidist-mode.el
index 0f264e3b..0f264e3b 100644
--- a/emacs-packages/alidist-mode.el
+++ b/tw/home/files/emacs-packages/alidist-mode.el
diff --git a/emacs-packages/bemscript-mode.el b/tw/home/files/emacs-packages/bemscript-mode.el
index f46c858b..f46c858b 100644
--- a/emacs-packages/bemscript-mode.el
+++ b/tw/home/files/emacs-packages/bemscript-mode.el
diff --git a/emacs-packages/environmentd-mode.el b/tw/home/files/emacs-packages/environmentd-mode.el
index 4bb8812e..4bb8812e 100644
--- a/emacs-packages/environmentd-mode.el
+++ b/tw/home/files/emacs-packages/environmentd-mode.el
diff --git a/emacs-packages/ifm-mode.el b/tw/home/files/emacs-packages/ifm-mode.el
index 7416588b..7416588b 100644
--- a/emacs-packages/ifm-mode.el
+++ b/tw/home/files/emacs-packages/ifm-mode.el
diff --git a/emacs-packages/org-latex-classes.el b/tw/home/files/emacs-packages/org-latex-classes.el
index 90d13341..90d13341 100644
--- a/emacs-packages/org-latex-classes.el
+++ b/tw/home/files/emacs-packages/org-latex-classes.el
diff --git a/emacs-packages/pam-env-mode.el b/tw/home/files/emacs-packages/pam-env-mode.el
index 75b0bf94..75b0bf94 100644
--- a/emacs-packages/pam-env-mode.el
+++ b/tw/home/files/emacs-packages/pam-env-mode.el
diff --git a/emacs-packages/vcard-mode.el b/tw/home/files/emacs-packages/vcard-mode.el
index a932477a..a932477a 100644
--- a/emacs-packages/vcard-mode.el
+++ b/tw/home/files/emacs-packages/vcard-mode.el
diff --git a/gitconfig b/tw/home/files/gitconfig
index 1f6c49f1..1f6c49f1 100644
--- a/gitconfig
+++ b/tw/home/files/gitconfig
diff --git a/gpg-agent.conf b/tw/home/files/gpg-agent.conf
index 6f476443..6f476443 100644
--- a/gpg-agent.conf
+++ b/tw/home/files/gpg-agent.conf
diff --git a/gpg.conf b/tw/home/files/gpg.conf
index 0d1d77a7..0d1d77a7 100644
--- a/gpg.conf
+++ b/tw/home/files/gpg.conf
diff --git a/gtk2.ini b/tw/home/files/gtk2.ini
index 6af8200a..6af8200a 100644
--- a/gtk2.ini
+++ b/tw/home/files/gtk2.ini
diff --git a/gtk3.ini b/tw/home/files/gtk3.ini
index fff5946b..fff5946b 100644
--- a/gtk3.ini
+++ b/tw/home/files/gtk3.ini
diff --git a/htoprc b/tw/home/files/htoprc
index f47f1c8a..f47f1c8a 100644
--- a/htoprc
+++ b/tw/home/files/htoprc
diff --git a/i3.conf b/tw/home/files/i3.conf
index 43e4cead..43e4cead 100644
--- a/i3.conf
+++ b/tw/home/files/i3.conf
diff --git a/khal.conf b/tw/home/files/khal.conf
index 73bb5c19..73bb5c19 100644
--- a/khal.conf
+++ b/tw/home/files/khal.conf
diff --git a/khard.conf b/tw/home/files/khard.conf
index a3cfe41a..a3cfe41a 100644
--- a/khard.conf
+++ b/tw/home/files/khard.conf
diff --git a/kitty.conf b/tw/home/files/kitty.conf
index 014e70f6..014e70f6 100644
--- a/kitty.conf
+++ b/tw/home/files/kitty.conf
diff --git a/lesskey b/tw/home/files/lesskey
index 8793a77c..8793a77c 100644
--- a/lesskey
+++ b/tw/home/files/lesskey
diff --git a/mailcap b/tw/home/files/mailcap
index 904ce065..904ce065 100644
--- a/mailcap
+++ b/tw/home/files/mailcap
diff --git a/muttrc b/tw/home/files/muttrc
index 470b1f2b..470b1f2b 100644
--- a/muttrc
+++ b/tw/home/files/muttrc
diff --git a/neomutt b/tw/home/files/neomutt
-Subproject 34816020295ace8f4b94a4da4c89367354457f4
+Subproject 34816020295ace8f4b94a4da4c89367354457f4
diff --git a/newsboat.conf b/tw/home/files/newsboat.conf
index 7959e138..7959e138 100644
--- a/newsboat.conf
+++ b/tw/home/files/newsboat.conf
diff --git a/passmenu b/tw/home/files/passmenu
index abeb98fb..abeb98fb 100755
--- a/passmenu
+++ b/tw/home/files/passmenu
diff --git a/picom.conf b/tw/home/files/picom.conf
index a7d86571..a7d86571 100644
--- a/picom.conf
+++ b/tw/home/files/picom.conf
diff --git a/polybar.ini b/tw/home/files/polybar.ini
index 4243cb95..4243cb95 100644
--- a/polybar.ini
+++ b/tw/home/files/polybar.ini
diff --git a/prompt.zsh b/tw/home/files/prompt.zsh
index 3898f89d..15e2d49b 100644
--- a/prompt.zsh
+++ b/tw/home/files/prompt.zsh
@@ -120,4 +120,9 @@ prompt_fast_setup () {
return 0
}
-prompt_fast_setup "$@"
+if [ "$TERM" = dumb ]; then
+ # Emacs Tramp needs a simple prompt when connecting over SSH.
+ PS1='$ '
+else
+ prompt_fast_setup "$@"
+fi
diff --git a/ranger.conf b/tw/home/files/ranger.conf
index dd5d4b0b..dd5d4b0b 100644
--- a/ranger.conf
+++ b/tw/home/files/ranger.conf
diff --git a/rofi.rasi b/tw/home/files/rofi.rasi
index 83363c14..83363c14 100644
--- a/rofi.rasi
+++ b/tw/home/files/rofi.rasi
diff --git a/sessionmenu b/tw/home/files/sessionmenu
index 552c2b3c..552c2b3c 100755
--- a/sessionmenu
+++ b/tw/home/files/sessionmenu
diff --git a/user-dirs.dirs b/tw/home/files/user-dirs.dirs
index 0db0cae3..0db0cae3 100644
--- a/user-dirs.dirs
+++ b/tw/home/files/user-dirs.dirs
diff --git a/vdirsyncer.conf b/tw/home/files/vdirsyncer.conf
index 5dac2686..5dac2686 100644
--- a/vdirsyncer.conf
+++ b/tw/home/files/vdirsyncer.conf
diff --git a/vim-keys.muttrc b/tw/home/files/vim-keys.muttrc
index a995a931..a995a931 100644
--- a/vim-keys.muttrc
+++ b/tw/home/files/vim-keys.muttrc
diff --git a/volume b/tw/home/files/volume
index 96398553..96398553 100755
--- a/volume
+++ b/tw/home/files/volume
diff --git a/zathurarc b/tw/home/files/zathurarc
index 06a9351f..06a9351f 100644
--- a/zathurarc
+++ b/tw/home/files/zathurarc
diff --git a/zshrc b/tw/home/files/zshrc
index 49804126..49804126 100644
--- a/zshrc
+++ b/tw/home/files/zshrc
diff --git a/home-configuration.scm b/tw/home/lap.scm
index bd81fbef..0c400242 100644
--- a/home-configuration.scm
+++ b/tw/home/lap.scm
@@ -15,29 +15,28 @@
;; https://github.com/catppuccin/fzf
;; https://github.com/catppuccin/obs
;; https://github.com/catppuccin/insomnia
-;; https://github.com/catppuccin/neomutt
-;; https://github.com/catppuccin/zathura
;; https://github.com/catppuccin/firefox ; for icecat
;; Manual installation needed?
;; https://github.com/catppuccin/dark-reader
;; https://github.com/catppuccin/github
-(use-modules (gnu home)
- (gnu home services)
- (gnu home services desktop)
- (gnu home services guix)
- (gnu home services mcron)
- (gnu home services pm)
- (gnu home services shells)
- (gnu home services shepherd)
- (gnu home services ssh)
- (gnu packages)
- (gnu services)
- (gnu services shepherd)
- (guix channels)
- (guix modules)
- (guix gexp))
+(define-module (tw home lap)
+ #:use-module (gnu home)
+ #:use-module (gnu home services)
+ #:use-module (gnu home services desktop)
+ #:use-module (gnu home services guix)
+ #:use-module (gnu home services mcron)
+ #:use-module (gnu home services pm)
+ #:use-module (gnu home services shells)
+ #:use-module (gnu home services shepherd)
+ #:use-module (gnu home services ssh)
+ #:use-module (gnu packages)
+ #:use-module (gnu services)
+ #:use-module (gnu services shepherd)
+ #:use-module (guix channels)
+ #:use-module (guix modules)
+ #:use-module (guix gexp))
(fluid-set! read-eval? #t) ; allow #. read expansions in this file
@@ -200,7 +199,7 @@ replacement spec (to which `regexp-substitute/global' is applied)."
(provision '(picom))
(start #~(make-forkexec-constructor
(list #$(package-binary "picom") "--experimental-backends"
- "--config" #$(local-file "picom.conf"))))
+ "--config" #$(local-file "files/picom.conf"))))
(stop #~(make-kill-destructor)))
(shepherd-service
@@ -253,53 +252,53 @@ replacement spec (to which `regexp-substitute/global' is applied)."
;; Configuration files for GUI programs in $XDG_CONFIG_HOME.
(simple-service
'gui-config home-xdg-configuration-files-service-type
- `(("dunst/dunstrc" ,(local-file "dunstrc"))
+ `(("dunst/dunstrc" ,(local-file "files/dunstrc"))
("dunst/dunstrc.d/50-catppuccin.conf"
- ,(local-file #.(string-append "catppuccin/dunst/src/"
+ ,(local-file #.(string-append "files/catppuccin/dunst/src/"
catppuccin-theme-variant ".conf")
"dunst-theme.conf"))
- ("emacs/include" ,(local-file "emacs-packages" #:recursive? #t))
- ("emacs/init.el" ,(local-file "emacs-init.el"))
+ ("emacs/include" ,(local-file "files/emacs-packages" #:recursive? #t))
+ ("emacs/init.el" ,(local-file "files/emacs-init.el"))
(#.(string-append "emacs/catppuccin-" catppuccin-theme-variant "-theme.el")
- ,(local-file #.(string-append "catppuccin/emacs/catppuccin-"
+ ,(local-file #.(string-append "files/catppuccin/emacs/catppuccin-"
catppuccin-theme-variant "-theme.el")))
- ("gtk-2.0/gtkrc" ,(local-file "gtk2.ini"))
- ("gtk-3.0/settings.ini" ,(local-file "gtk3.ini"))
- ("i3/config" ,(local-file "i3.conf"))
+ ("gtk-2.0/gtkrc" ,(local-file "files/gtk2.ini"))
+ ("gtk-3.0/settings.ini" ,(local-file "files/gtk3.ini"))
+ ("i3/config" ,(local-file "files/i3.conf"))
("kdeglobals" ; TODO: this works for some programs (e.g. kdeconnect-app),
; but not for others (e.g. nheko, kdeconnect-settings)...
,(local-file #.(let ((variant (string-upcase catppuccin-theme-variant 0 1)))
- (string-append "catppuccin/kde/" variant
+ (string-append "files/catppuccin/kde/" variant
"/Catppuccin" variant ".colors"))))
("kitty/diff.conf"
- ,(local-file #.(string-append "catppuccin/kitty/diff-"
+ ,(local-file #.(string-append "files/catppuccin/kitty/diff-"
catppuccin-theme-variant ".conf")
"kitty-diff-theme.conf"))
("kitty/kitty.conf"
,(combined-text-file "kitty.conf"
- (local-file "kitty.conf")
- (local-file #.(string-append "catppuccin/kitty/"
+ (local-file "files/kitty.conf")
+ (local-file #.(string-append "files/catppuccin/kitty/"
catppuccin-theme-variant ".conf")
"kitty-theme.conf")))
- ("polybar/config.ini" ,(local-file "polybar.ini"))
+ ("polybar/config.ini" ,(local-file "files/polybar.ini"))
("polybar/catppuccin.ini"
- ,(local-file #.(string-append "catppuccin/polybar/themes/"
+ ,(local-file #.(string-append "files/catppuccin/polybar/themes/"
catppuccin-theme-variant ".ini")))
- ("rofi/config.rasi" ,(local-file "rofi.rasi"))
+ ("rofi/config.rasi" ,(local-file "files/rofi.rasi"))
("rofi/themes/catppuccin.rasi"
,(text-file/substitutions "catppuccin.rasi"
- (local-file #.(string-append "catppuccin/rofi/basic/.local/share/rofi/themes/catppuccin-"
+ (local-file #.(string-append "files/catppuccin/rofi/basic/.local/share/rofi/themes/catppuccin-"
catppuccin-theme-variant ".rasi"))
'("JetBrainsMono Nerd Font 14" pre "Fira Sans 12" post) ; default font
'("border-col: #[0-9a-f]*;" pre "border-col: #585b70;" post))) ; i3 border colour
- ("zathura/zathurarc" ,(local-file "zathurarc"))
+ ("zathura/zathurarc" ,(local-file "files/zathurarc"))
("zathura/catppuccin"
- ,(local-file #.(string-append "catppuccin/zathura/src/catppuccin-"
+ ,(local-file #.(string-append "files/catppuccin/zathura/src/catppuccin-"
catppuccin-theme-variant)))))
(simple-service
'gui-files home-files-service-type
- `((".icons/default/index.theme" ,(local-file "cursors.ini"))))
+ `((".icons/default/index.theme" ,(local-file "files/cursors.ini"))))
(simple-service
'gui-environment-variables home-environment-variables-service-type
@@ -334,9 +333,9 @@ replacement spec (to which `regexp-substitute/global' is applied)."
(system* #$(package-binary "xset") "dpms" "0" "0" "0")
(system* #$(package-binary "dunst" "dunstctl") "set-paused" "false"))))
;; With #:recursive? #t, Guix keeps the files' permission bits, i.e. makes them executable.
- (".local/bin/sessionmenu" ,(local-file "sessionmenu" #:recursive? #t)) ; rofi logout/reboot menu
- (".local/bin/passmenu" ,(local-file "passmenu" #:recursive? #t)) ; rofi passwords menu
- (".local/bin/volume" ,(local-file "volume" #:recursive? #t)))))) ; set volume on key press
+ (".local/bin/sessionmenu" ,(local-file "files/sessionmenu" #:recursive? #t)) ; rofi logout/reboot menu
+ (".local/bin/passmenu" ,(local-file "files/passmenu" #:recursive? #t)) ; rofi passwords menu
+ (".local/bin/volume" ,(local-file "files/volume" #:recursive? #t)))))) ; set volume on key press
(home-environment
(packages
@@ -392,8 +391,9 @@ replacement spec (to which `regexp-substitute/global' is applied)."
"emacs-eglot"
"emacs-counsel"
"emacs-counsel-dash" "sqlite" ; emacs-counsel-dash requires the sqlite3 binary
- "emacs-ivy" "emacs-ivy-posframe"
- "emacs-company" "emacs-company-quickhelp" "emacs-company-posframe"
+ "emacs-ivy"
+ ;; "emacs-company" "emacs-company-quickhelp" "emacs-company-posframe"
+ "emacs-corfu" "emacs-corfu-doc"
"emacs-autothemer" ; for catppuccin/emacs
"emacs-undo-tree"
"emacs-aggressive-indent"
@@ -423,10 +423,12 @@ replacement spec (to which `regexp-substitute/global' is applied)."
"emacs-evil-text-object-python"
"emacs-geiser" "emacs-geiser-racket" "emacs-geiser-guile"
+ ;; "emacs-macrostep-geiser"
"emacs-flymake-collection" ; "emacs-flymake-flycheck" ; if needed
- "emacs-cmake-mode" "emacs-graphviz-dot-mode" "emacs-hcl-mode"
- "emacs-ledger-mode" "emacs-mmm-mode" "emacs-puppet-mode"
- "emacs-rec-mode" "emacs-web-mode" "emacs-yaml-mode"))))
+ "emacs-cmake-mode" "emacs-gnuplot" "emacs-graphviz-dot-mode"
+ "emacs-hcl-mode" "emacs-ledger-mode" "emacs-mmm-mode"
+ "emacs-puppet-mode" "emacs-rec-mode" "emacs-web-mode"
+ "emacs-yaml-mode"))))
;; To search for available home services, run 'guix home search KEYWORD'.
(services
@@ -463,39 +465,39 @@ replacement spec (to which `regexp-substitute/global' is applied)."
`(;; All alibuild needs is an empty file.
("alibuild/disable-analytics"
,(plain-file "alibuild-disable-analytics" ""))
- ("git/config" ,(local-file "gitconfig"))
- ("htop/htoprc" ,(local-file "htoprc"))
- ("khal/config" ,(local-file "khal.conf"))
- ("khard/khard.conf" ,(local-file "khard.conf"))
- ("lesskey" ,(local-file "lesskey"))
- ("mutt/muttrc" ,(local-file "muttrc"))
+ ("git/config" ,(local-file "files/gitconfig"))
+ ("htop/htoprc" ,(local-file "files/htoprc"))
+ ("khal/config" ,(local-file "files/khal.conf"))
+ ("khard/khard.conf" ,(local-file "files/khard.conf"))
+ ("lesskey" ,(local-file "files/lesskey"))
+ ("mutt/muttrc" ,(local-file "files/muttrc"))
("mutt/catppuccin.muttrc"
,(local-file #.(if (string=? catppuccin-theme-variant "latte")
- "catppuccin/neomutt/latte-neomuttrc"
- "catppuccin/neomutt/neomuttrc")))
- ("newsboat/config" ,(local-file "newsboat.conf"))
+ "files/catppuccin/neomutt/latte-neomuttrc"
+ "files/catppuccin/neomutt/neomuttrc")))
+ ("newsboat/config" ,(local-file "files/newsboat.conf"))
("newsboat/config.catppuccin"
,(local-file #.(if (string=? catppuccin-theme-variant "latte")
- "catppuccin/newsboat/themes/latte"
- "catppuccin/newsboat/themes/dark")
+ "files/catppuccin/newsboat/themes/latte"
+ "files/catppuccin/newsboat/themes/dark")
"newsboat-theme.conf"))
- ("ranger/rc.conf" ,(local-file "ranger.conf"))
+ ("ranger/rc.conf" ,(local-file "files/ranger.conf"))
("user-dirs.locale" ,(plain-file "user-dirs.locale" "C")) ; Not sure if this is needed. Arch has it.
- ("user-dirs.dirs" ,(local-file "user-dirs.dirs"))
- ("vdirsyncer/config" ,(local-file "vdirsyncer.conf"))
- ("X11/XCompose" ,(local-file "XCompose")) ; see also: $XCOMPOSEFILE variable
- ("X11/Xresources" ,(local-file "Xresources"))))
+ ("user-dirs.dirs" ,(local-file "files/user-dirs.dirs"))
+ ("vdirsyncer/config" ,(local-file "files/vdirsyncer.conf"))
+ ("X11/XCompose" ,(local-file "files/XCompose")) ; see also: $XCOMPOSEFILE variable
+ ("X11/Xresources" ,(local-file "files/Xresources"))))
(simple-service
'terminal-files home-files-service-type
- `((".mailcap" ,(local-file "mailcap"))
+ `((".mailcap" ,(local-file "files/mailcap"))
;; The file from git main is newer than the one bundled with the
;; packaged neomutt version and contains a few fixes.
(".local/bin/mutt_oauth2.py"
- ,(local-file "neomutt/contrib/oauth2/mutt_oauth2.py" #:recursive? #t))
+ ,(local-file "files/neomutt/contrib/oauth2/mutt_oauth2.py" #:recursive? #t))
;; GnuPG config files must be in ~/.local/share/gnupg, not ~/.config,
;; so we can't use `home-xdg-configuration-files-service-type'.
- (".local/share/gnupg/gpg.conf" ,(local-file "gpg.conf"))
+ (".local/share/gnupg/gpg.conf" ,(local-file "files/gpg.conf"))
(".local/share/gnupg/gpg-agent.conf"
,(mixed-text-file "gpg-agent.conf" "\
pinentry-program " (package-binary "pinentry-rofi") "
@@ -505,8 +507,8 @@ auto-expand-secmem
(service home-zsh-service-type
(home-zsh-configuration
- (zshrc (list (local-file "zshrc")
- (local-file "prompt.zsh")))))
+ (zshrc (list (local-file "files/zshrc")
+ (local-file "files/prompt.zsh")))))
(simple-service
'terminal-environment-variables home-environment-variables-service-type