summaryrefslogtreecommitdiff
path: root/tw/theme.scm
blob: f60b6433c2d94444e8287bc6fd9ecedaf4fd32ce (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
;; 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)))