diff options
-rw-r--r-- | .gitmodules | 20 | ||||
-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-x | tw/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-x | tw/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-x | tw/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 |