From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:38419) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jGHUG-0003C0-Gs for guix-patches@gnu.org; Mon, 23 Mar 2020 03:27:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jGHUF-0006I6-13 for guix-patches@gnu.org; Mon, 23 Mar 2020 03:27:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:45424) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jGHUE-0006I2-Tt for guix-patches@gnu.org; Mon, 23 Mar 2020 03:27:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jGHUE-0003ct-RD for guix-patches@gnu.org; Mon, 23 Mar 2020 03:27:02 -0400 Subject: [bug#33753] [PATCH 3/3] gnu: Add sbcl-stumpwm-ttf-fonts. Resent-Message-ID: From: Oleg Pykhalov Date: Mon, 23 Mar 2020 10:24:42 +0300 Message-Id: <20200323072442.25966-3-go.wigust@gmail.com> In-Reply-To: <20200323072442.25966-1-go.wigust@gmail.com> References: <20200323071601.24717-1-go.wigust@gmail.com> <20200323072442.25966-1-go.wigust@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 33753@debbugs.gnu.org Cc: Oleg Pykhalov * 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 ;;; 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 @@ -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