Browse Source

gnu: Add sbcl-stumpwm-ttf-fonts.

* gnu/packages/wm.scm (sbcl-stumpwm-ttf-fonts): New variable.
* doc/guix-cookbook.texi (Customizing a Window Manager): Document
SBCL-STUMPWM-TTF-FONTS installation and configuration.
Oleg Pykhalov 2 years ago
No known key found for this signature in database GPG Key ID: 167F8EA5001AFA9C
  1. 54
  2. 33


@ -11,6 +11,7 @@
Copyright @copyright{} 2019 Ricardo Wurmus@*
Copyright @copyright{} 2019 Efraim Flashner@*
Copyright @copyright{} 2019 Pierre Neidhardt@*
Copyright @copyright{} 2020 Oleg Pykhalov@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -1319,7 +1320,8 @@ chapter is to demonstrate some advanced configuration concepts.
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
@end menu
@node Customizing the Kernel
@ -1562,6 +1564,56 @@ likely that you'll need to modify the initrd on a machine using a custom
kernel, since certain modules which are expected to be built may not be
available for inclusion into the initrd.
@node Customizing a Window Manager
@section Customizing a Window Manager
@cindex wm
@node StumpWM
@subsection StumpWM
@cindex stumpwm
You could install StumpWM with a Guix system by adding
@code{stumpwm-checkout} and optionally @code{`(,stumpwm-checkout "lib")}
packages to a system configuration file, e.g. @file{/etc/config.scm}.
An example configuration can look like this:
(use-modules (gnu))
(use-package-modules wm)
;; …
(packages (append (list sbcl stumpwm-checkout `(,stumpwm-checkout "lib"))
@end lisp
@cindex stumpwm fonts
By default StumpWM uses X11 fonts, which could be small or pixelated on
your system. You could fix this by installing StumpWM contrib Lisp
module @code{sbcl-stumpwm-ttf-fonts}, adding it to Guix system packages:
(use-modules (gnu))
(use-package-modules fonts wm)
;; …
(packages (append (list sbcl stumpwm-checkout `(,stumpwm-checkout "lib"))
sbcl-stumpwm-ttf-fonts font-dejavu %base-packages)))
@end lisp
Then you need to add the following code to a StumpWM configuration file
(require :ttf-fonts)
(setf xft:*font-dirs* '("/run/current-system/profile/share/fonts/"))
(setf clx-truetype:+font-cache-filename+ (concat (getenv "HOME") "/.fonts/font-cache.sexp"))
(set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11))
@end lisp
@c *********************************************************************
@node Advanced package management
@chapter Advanced package management


@ -14,7 +14,7 @@
;;; Copyright © 2016 Ivan Vilata i Balaguer <>
;;; Copyright © 2017 Mekeor Melire <>
;;; Copyright © 2017, 2019 Marius Bakke <>
;;; Copyright © 2017 Oleg Pykhalov <>
;;; Copyright © 2017, 2020 Oleg Pykhalov <>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <>
;;; Copyright © 2018 Pierre-Antoine Rouby <>
;;; Copyright © 2018, 2019 Meiyo Peng <>
@ -1661,6 +1661,37 @@ productive, customizable lisp based systems.")
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
(define-public sbcl-stumpwm-ttf-fonts
(let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91")
(revision "1"))
(name "sbcl-ttf-fonts")
(version (git-version "0.0.1" revision commit)) ;no upstream release
(method git-fetch)
(uri (git-reference
(url "")
(commit commit)))
(file-name (git-file-name name version))
(base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn"))))
`(("stumpwm" ,stumpwm "lib")
("clx-truetype" ,sbcl-clx-truetype)))
(build-system asdf-build-system/sbcl)
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "util/ttf-fonts"))))))
(home-page "")
(synopsis "Implementation of TTF font rendering for Lisp")
(description "This package provides a Lisp implementation of TTF font
(license (list license:gpl2+ license:gpl3+ license:bsd-2)))))
(define-public lemonbar
(let ((commit "35183ab81d2128dbb7b6d8e119cc57846bcefdb4")
(revision "1"))