summaryrefslogtreecommitdiff
path: root/tw/home/lap.scm
diff options
context:
space:
mode:
authorTimo Wilken2022-12-31 11:43:30 +0100
committerTimo Wilken2022-12-31 11:45:34 +0100
commitc629e4243330b5081c4b85563fe9c028e43310c2 (patch)
tree70558580c981cf85b0bb0fbbb26b78d4e3badd08 /tw/home/lap.scm
parent54f0a727c312b82e5d1c25ca81b62344bbb56e10 (diff)
Extract theming files into separate module
Diffstat (limited to 'tw/home/lap.scm')
-rw-r--r--tw/home/lap.scm111
1 files changed, 16 insertions, 95 deletions
diff --git a/tw/home/lap.scm b/tw/home/lap.scm
index f7439a21..33683af1 100644
--- a/tw/home/lap.scm
+++ b/tw/home/lap.scm
@@ -7,20 +7,6 @@
;; See also, for some tips:
;; https://github.com/alezost/shepherd-config/blob/master/init.scm
-;; 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 home lap)
#:use-module ((gnu)
#:select (use-package-modules))
@@ -38,14 +24,15 @@
#:use-module (gnu services shepherd)
#:use-module (guix channels)
#:use-module (guix gexp)
- #:use-module (guix modules)
#:use-module ((nongnu packages messaging)
#:select (signal-desktop zoom))
#:use-module (tw packages alice)
#:use-module (tw packages catppuccin)
#:use-module (tw packages games)
#:use-module (tw packages shell)
- #:use-module (tw packages xorg))
+ #:use-module (tw packages xorg)
+ #:use-module (tw gexp)
+ #:use-module (tw theme))
(use-package-modules
admin android base bittorrent calendar cmake compression compton curl
@@ -56,37 +43,6 @@
rsync shells shellutils sqlite ssh syndication tcl terminals textutils tmux
video version-control vim web web-browsers wm xdisorg xorg)
-(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 catppuccin-background-color "1e1e2e")
-
-;; See also: `file-join' in (gnu home services ssh).
-(define (combined-text-file name . files)
- "A file which is the concatenation of the contents of other files."
- ;; We need to use #$output for `computed-file' to work.
- ;; Of course this isn't documented anywhere!
- (computed-file name
- (with-imported-modules (source-module-closure
- '((guix build utils))) ; for `dump-port'
- #~(begin
- (use-modules (guix build utils))
- (call-with-output-file #$output
- (lambda (oport)
- (for-each (lambda (in-file)
- (call-with-input-file in-file
- (lambda (iport)
- (dump-port iport oport))))
- '#$files)))))))
-
(define gui-packages
(list
;; i3 and Xorg. i3 itself must be installed system-wide for gdm to pick it up.
@@ -238,56 +194,28 @@
(simple-service
'gui-config home-xdg-configuration-files-service-type
`(("dunst/dunstrc" ,(local-file "files/dunstrc"))
- ("dunst/dunstrc.d/50-catppuccin.conf"
- ,(local-file #.(string-append "files/catppuccin/dunst/src/"
- catppuccin-theme-variant ".conf")
- "dunst-theme.conf"))
+ ("dunst/dunstrc.d/50-catppuccin.conf" ,catppuccin-dunstrc)
("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 "files/catppuccin/emacs/catppuccin-"
- catppuccin-theme-variant "-theme.el")))
+ (,(string-append "emacs/" (local-file-name catppuccin-emacs-theme))
+ ,catppuccin-emacs-theme)
("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"))
;; TODO: "kdeglobals" works for some programs (e.g. kdeconnect-app),
;; but not for others (e.g. nheko, kdeconnect-settings)...
- ("kdeglobals"
- ,(local-file #.(let ((variant (string-upcase catppuccin-theme-variant 0 1)))
- (string-append "files/catppuccin/kde/" variant
- "/Catppuccin" variant ".colors"))))
- ("kitty/diff.conf"
- ,(local-file #.(string-append "files/catppuccin/kitty/diff-"
- catppuccin-theme-variant ".conf")
- "kitty-diff-theme.conf"))
+ ("kdeglobals" ,catppuccin-kdeglobals)
+ ("kitty/diff.conf" ,catppuccin-kitty-diff)
("kitty/kitty.conf"
,(combined-text-file "kitty.conf"
- (local-file "files/kitty.conf")
- (local-file #.(string-append "files/catppuccin/kitty/"
- catppuccin-theme-variant ".conf")
- "kitty-theme.conf")))
+ (local-file "files/kitty.conf")
+ catppuccin-kitty))
("polybar/config.ini" ,(local-file "files/polybar.ini"))
- ("polybar/catppuccin.ini"
- ,(local-file #.(string-append "files/catppuccin/polybar/themes/"
- catppuccin-theme-variant ".ini")))
+ ("polybar/catppuccin.ini" ,catppuccin-polybar)
("rofi/config.rasi" ,(local-file "files/rofi.rasi"))
- ("rofi/themes/catppuccin.rasi"
- ,(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
- "files/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
+ ("rofi/themes/catppuccin.rasi" ,catppuccin-rofi)
("zathura/zathurarc" ,(local-file "files/zathurarc"))
- ("zathura/catppuccin"
- ,(local-file #.(string-append "files/catppuccin/zathura/src/catppuccin-"
- catppuccin-theme-variant)))))
+ ("zathura/catppuccin" ,catppuccin-zathura)))
(simple-service
'gui-files home-files-service-type
@@ -424,7 +352,7 @@
emacs-yaml-mode
gui-packages))
-
+
;; To search for available home services, run 'guix home search KEYWORD'.
(services
(cons*
@@ -466,16 +394,9 @@
("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")
- "files/catppuccin/neomutt/latte-neomuttrc"
- "files/catppuccin/neomutt/neomuttrc")))
+ ("mutt/catppuccin.muttrc" ,catppuccin-muttrc)
("newsboat/config" ,(local-file "files/newsboat.conf"))
- ("newsboat/config.catppuccin"
- ,(local-file #.(if (string=? catppuccin-theme-variant "latte")
- "files/catppuccin/newsboat/themes/latte"
- "files/catppuccin/newsboat/themes/dark")
- "newsboat-theme.conf"))
+ ("newsboat/config.catppuccin" ,catppuccin-newsboat)
("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 "files/user-dirs.dirs"))