1(define-module (nmeum packages desktop)
2 #:use-module (guix)
3 #:use-module (guix gexp)
4 #:use-module (guix git-download)
5 #:use-module (guix build-system gnu)
6 #:use-module (guix build-system zig)
7 #:use-module ((guix licenses) #:prefix license:)
8 #:use-module (gnu packages)
9 #:use-module (gnu packages fonts)
10 #:use-module (gnu packages zig)
11 #:use-module (gnu packages zig-xyz)
12 #:use-module (gnu packages freedesktop)
13 #:use-module (gnu packages linux)
14 #:use-module (gnu packages xdisorg)
15 #:use-module (gnu packages pkg-config)
16 #:use-module (gnu packages fontutils)
17 #:use-module (gnu packages textutils))
18
19(define-public dumb-runtime-dir
20 (package
21 (name "dumb-runtime-dir")
22 (version "1.0.4")
23 (source
24 (origin
25 (method git-fetch)
26 (uri (git-reference
27 (url "https://github.com/ifreund/dumb_runtime_dir")
28 (commit (string-append "v" version))))
29 (file-name (git-file-name name version))
30 (sha256
31 (base32 "0nrxhvbh3bs4pi4f5h03zw1p1ys19qmmlx263ysly8302wkxk1m4"))))
32 (build-system gnu-build-system)
33 (arguments
34 (list
35 #:tests? #f
36 #:make-flags #~(list (string-append "CC="
37 #$(cc-for-target))
38 (string-append "PREFIX=")
39 (string-append "DESTDIR="
40 #$output))
41 #:phases #~(modify-phases %standard-phases
42 (delete 'configure))))
43 (inputs (list linux-pam))
44 (native-inputs (list pkg-config))
45 (home-page "https://github.com/ifreund/dumb_runtime_dir")
46 (synopsis "Creates an XDG_RUNTIME_DIR via PAM")
47 (description
48 "Provides a acronym{PAM, Pluggable Authentication Module} for
49creating a primitve @code{XDG_RUNTIME_DIR} that is never removed. This
50is useful in conjuction with simple seat managers like @code{seatd}
51which do not set @code{XDG_RUNTIME_DIR}.")
52 (license license:bsd-0)))
53
54(define-public zig-fcft
55 (package
56 (name "zig-fcft")
57 (version "1.1.0")
58 (source
59 (origin
60 (method git-fetch)
61 (uri (git-reference
62 (url "https://git.sr.ht/~novakane/zig-fcft")
63 (commit version)))
64 (file-name (git-file-name name version))
65 (sha256
66 (base32 "0im0rdwww7xxvhmibfp3459h8wwdmihjb9m7vmzxkgqs4x77l114"))))
67 (build-system zig-build-system)
68 (arguments
69 (list
70 #:skip-build? #t
71 #:tests? #f))
72 (propagated-inputs (list zig-pixman fcft))
73 (native-inputs (list pkg-config))
74 (synopsis "Zig bindings for the fcft font library")
75 (description "")
76 (home-page "https://git.sr.ht/~novakane/zig-fcft")
77 (license license:expat)))
78
79(define-public creek
80 (package
81 (name "creek")
82 (version "0.4.2")
83 (source
84 (origin
85 (method git-fetch)
86 (uri (git-reference
87 (url "https://github.com/nmeum/creek")
88 (commit (string-append "v" version))
89 (recursive? #t)))
90 (file-name (git-file-name name version))
91 (sha256
92 (base32 "0b1gpxgi207cqrls6qp0pd6749g60yfcrjii8nagm00c678bs3nx"))))
93 (build-system zig-build-system)
94 (arguments
95 (list
96 #:zig-release-type "safe"
97 #:tests? #f))
98 (native-inputs (list fcft
99 pixman
100 pkg-config
101 zig-wayland
102 zig-fcft
103 zig-pixman))
104 (home-page "https://github.com/nmeum/leeve")
105 (synopsis
106 "A minimalistic and malleable status bar for the River compositor.")
107 (description "A fork of the creek status bar which intended to be
108more mallable then the original version. For example,
109supporting custom status bar information via stdin.")
110 (license license:expat)))
111
112(define-public font-terminus-patched
113 (package
114 (inherit font-terminus)
115 (name "font-terminus-patched")
116 (arguments
117 (substitute-keyword-arguments (package-arguments font-terminus)
118 ((#:phases phases '%standard-phases)
119 #~(modify-phases #$phases
120 (add-after 'unpack 'patch-font
121 (lambda _
122 (invoke "patch" "-p0" "-i" "alt/td1.diff")
123 (invoke "patch" "-p0" "-i" "alt/ll2.diff")))))))))