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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
| | ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2023 Andy Tai <atai@atai.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages fvwm)
#:use-module ((guix licenses) #:select (gpl2+ gpl3))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compton)
#:use-module (gnu packages dunst)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gkrellm)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages shells)
#:use-module (gnu packages stalonetray)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
(define-public fvwm
(package
(name "fvwm")
(version "2.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fvwmorg/fvwm/releases/download/"
version "/fvwm-" version ".tar.gz"))
(sha256
(base32
"12s1wgkvrvl8m62gpb2918izfx9ysj7hgn9p00blfi3p1gb6v0k6"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-xsession
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(xsessions (string-append out "/share/xsessions")))
(mkdir-p xsessions)
(make-desktop-entry-file
(string-append xsessions "/fvwm2.desktop")
#:name "FVWM"
#:exec (string-append out "/bin/" ,name)
#:comment '("FVWM")))
#t)))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("xsltproc" ,libxslt)))
(inputs
(list fribidi
libpng
librsvg
libxcursor
libxext
libxft
libxinerama
libxpm
libxt
readline))
(synopsis "Virtual window manager for X11")
(description
"FVWM is an extremely powerful ICCCM-compliant multiple virtual desktop
window manager for the X Window system.")
(home-page "https://www.fvwm.org/")
(license gpl2+)))
(define-public nscde
(package
(name "nscde")
(version "2.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/NsCDE/NsCDE/releases/download/"
version "/NsCDE-" version ".tar.gz"))
(sha256
(base32
"1bm607dvqfdc3ir7l1aswfsfyb2la7rgp0g3023b9v2iksaal5mr"))))
(build-system gnu-build-system)
(native-inputs (list pkg-config mksh))
(inputs (list gettext-minimal
fvwm
font-dejavu
fribidi
dunst
gkrellm
gtk+
imagemagick
libxpm
libxext
libxft
libxt
rofi
picom
python
python-pyyaml
python-qtpy
stalonetray
xclip
xdpyinfo
xorg-rgb
xprop
xrefresh
xscreensaver
xset
xsettingsd
xterm))
(synopsis "Modern and functional CDE desktop based on FVWM")
(description "NsCDE or Not so Common Desktop Environment is a retro but
powerful UNIX desktop environment which resembles the CDE look (and partially
feel) but with a more powerful and flexible framework beneath-the-surface,
more suited for 21st century unix-like and GNU/Linux systems and user requirements
than original CDE. NsCDE is a heavyweight FVWM theme on steroids, but combined
with a couple other free software components and custom FVWM applications and
a lot of configuration, NsCDE can be considered a lightweight hybrid desktop
environment")
(home-page "https://github.com/NsCDE/NsCDE")
(license gpl3)))
|