;; TODO: Integrate upstream (ctp) configs into ~/guix-home using git submodules: ;; https://github.com/catppuccin/grub ; TODO: make this system-wide ;; https://github.com/catppuccin/tty ; system-wide ;; https://github.com/catppuccin/papirus-folders ;; https://github.com/catppuccin/Kvantum ;; https://github.com/catppuccin/fzf ;; https://github.com/catppuccin/obs ;; https://github.com/catppuccin/insomnia ;; https://github.com/catppuccin/firefox ; for icecat ;; Manual installation needed? ;; https://github.com/catppuccin/dark-reader ;; https://github.com/catppuccin/github (define-module (tw theme) #:use-module (guix gexp) #:use-module ((guix modules) #:select (source-module-closure))) (fluid-set! read-eval? #t) ; allow #. read expansions in this file ;; One of "latte" (light theme), "frappe", "macchiato", "mocha" (dark ;; themes); ordered brightest to darkest. ;; Set and use this at read time so that `local-file' gets a literal ;; argument. Anything else confuses it and causes it to search ;; relative to the working directory, not this file's directory. #.(define catppuccin-theme-variant "mocha") ;; "Base" colour from the active Catppuccin theme (see ;; https://github.com/catppuccin/catppuccin). (define-public catppuccin-background-color "1e1e2e") (define-public catppuccin-muttrc (local-file #.(if (string=? catppuccin-theme-variant "latte") "theme/catppuccin/neomutt/latte-neomuttrc" "theme/catppuccin/neomutt/neomuttrc"))) (define-public catppuccin-newsboat (local-file #.(if (string=? catppuccin-theme-variant "latte") "theme/catppuccin/newsboat/themes/latte" "theme/catppuccin/newsboat/themes/dark") "newsboat-theme.conf")) (define-public catppuccin-dunstrc (local-file #.(string-append "theme/catppuccin/dunst/src/" catppuccin-theme-variant ".conf") "dunst-theme.conf")) (define-public catppuccin-emacs-theme ;; Select the appropriate variant in Emacs. (local-file "theme/catppuccin/emacs/catppuccin-theme.el")) (define-public catppuccin-kdeglobals (local-file #.(let ((variant (string-upcase catppuccin-theme-variant 0 1))) (string-append "theme/catppuccin/kde/" variant "/Catppuccin" variant ".colors")))) (define-public catppuccin-kitty-diff (local-file #.(string-append "theme/catppuccin/kitty/themes/diff-" catppuccin-theme-variant ".conf") "kitty-diff-theme.conf")) (define-public catppuccin-kitty (local-file #.(string-append "theme/catppuccin/kitty/themes/" catppuccin-theme-variant ".conf") "kitty-theme.conf")) (define-public catppuccin-polybar (local-file #.(string-append "theme/catppuccin/polybar/themes/" catppuccin-theme-variant ".ini"))) (define-public catppuccin-rofi (computed-file "catppuccin.rasi" (with-imported-modules (source-module-closure '((guix build utils))) #~(begin (use-modules (guix build utils)) (copy-file #$(local-file #.(string-append "theme/catppuccin/rofi/basic/.local/share/rofi/themes/catppuccin-" catppuccin-theme-variant ".rasi")) #$output) (substitute* #$output (("JetBrainsMono Nerd Font 14") "Fira Sans 12") ; default font (("border-col: #[0-9a-f]*;") "border-col: #585b70;")))))) ; i3 border colour (define-public catppuccin-vim (local-file #.(string-append "theme/catppuccin/vim/colors/catppuccin_" catppuccin-theme-variant ".vim"))) (define-public catppuccin-zathura (local-file #.(string-append "theme/catppuccin/zathura/src/catppuccin-" catppuccin-theme-variant)))