[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#33753] [PATCH 3/3] gnu: Add sbcl-stumpwm-ttf-fonts.
From: |
Oleg Pykhalov |
Subject: |
[bug#33753] [PATCH 3/3] gnu: Add sbcl-stumpwm-ttf-fonts. |
Date: |
Mon, 23 Mar 2020 10:24:42 +0300 |
* 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.
---
doc/guix-cookbook.texi | 41 ++++++++++++++++++++++++++++++++++++++++-
gnu/packages/wm.scm | 33 ++++++++++++++++++++++++++++++++-
2 files changed, 72 insertions(+), 2 deletions(-)
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 477b7e3dff..84a9bb38a4 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -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.
reference.
@menu
-* 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,43 @@ 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:
+
+@lisp
+(operating-system
+ ;; …
+ (packages (append (list sbcl stumpwm-checkout `(,stumpwm-checkout "lib"))
+ %base-packages)))
+@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.
+
+Then you need to add the following code to a StumpWM configuration file
+@file{~/.stumpwm.d/init.lisp}:
+
+@lisp
+(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"))
+(xft:cache-fonts)
+(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
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 25ec278e2c..7217d985f2 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2016 Ivan Vilata i Balaguer <address@hidden>
;;; Copyright © 2017 Mekeor Melire <address@hidden>
;;; Copyright © 2017, 2019 Marius Bakke <address@hidden>
-;;; Copyright © 2017 Oleg Pykhalov <address@hidden>
+;;; Copyright © 2017, 2020 Oleg Pykhalov <address@hidden>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <address@hidden>
;;; Copyright © 2018 Pierre-Antoine Rouby <address@hidden>
;;; Copyright © 2018, 2019 Meiyo Peng <address@hidden>
@@ -1660,6 +1660,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"))
+ (package
+ (name "sbcl-ttf-fonts")
+ (version (git-version "0.0.1" revision commit)) ;no upstream release
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stumpwm/stumpwm-contrib.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn"))))
+ (inputs
+ `(("stumpwm" ,stumpwm "lib")
+ ("clx-truetype" ,sbcl-clx-truetype)))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "util/ttf-fonts"))))))
+ (home-page "https://github.com/stumpwm/stumpwm-contrib")
+ (synopsis "Implementation of TTF font rendering for Lisp")
+ (description "This package provides a Lisp implementation of TTF font
+rendering.")
+ (license (list license:gpl2+ license:gpl3+ license:bsd-2)))))
+
(define-public lemonbar
(let ((commit "35183ab81d2128dbb7b6d8e119cc57846bcefdb4")
(revision "1"))
--
2.25.1