summaryrefslogtreecommitdiff
path: root/modules/ryan-packages
diff options
context:
space:
mode:
authorRyan Schanzenbacher <ryan@rschanz.org>2024-04-21 18:31:34 -0400
committerRyan Schanzenbacher <ryan@rschanz.org>2024-04-21 18:31:34 -0400
commit9c7803603fb56042ab97abc3e6a6c01acb598ebf (patch)
tree28108df1fcf137c404dc21bffcd709ca7925da9a /modules/ryan-packages
parent8a48a5775072430da4cc37f815b00d81db7283b4 (diff)
updated things and fish stuff
Diffstat (limited to 'modules/ryan-packages')
-rw-r--r--modules/ryan-packages/wm.scm35
-rw-r--r--modules/ryan-packages/wmrosenthal.bak371
2 files changed, 371 insertions, 35 deletions
diff --git a/modules/ryan-packages/wm.scm b/modules/ryan-packages/wm.scm
index be24289..0049947 100644
--- a/modules/ryan-packages/wm.scm
+++ b/modules/ryan-packages/wm.scm
@@ -126,38 +126,3 @@
126 (synopsis "Screen locker for Hyprland") 126 (synopsis "Screen locker for Hyprland")
127 (description "Screen locker for hyprland."))) 127 (description "Screen locker for hyprland.")))
128 128
129
130;(define hyprland-unbundle-wlroots-patch
131; (origin
132; (method url-fetch)
133; (uri (string-append "https://github.com/hyprwm/Hyprland" "/raw/"
134; "13f6f0b923ff3ec94a3bec886c28b90402ceef91"
135; "/nix/patches/meson-build.patch"))
136; (sha256
137; (base32 "02sq5ymxxrxp93mccafc4ilpsvs4m8bxc3whp7bcc5v9dx41va8k"))))
138
139;(define-public hyprland-temp
140; (package
141; (inherit hyprland)
142; (version "12985fa0d8e43b1e33326dfb49be681970dfaea5")
143; (source (origin
144; (method git-fetch)
145; (uri (git-reference
146; (url "https://github.com/hyprwm/Hyprland")
147; (commit version)))
148; (file-name (git-file-name "hyprland" version))
149; (modules '((guix build utils)))
150; (snippet
151; '(begin
152; (substitute* "meson.build"
153; ((".*hyprpm/src.*") ""))
154; (for-each delete-file-recursively
155; '("hyprpm"
156; "subprojects"))
157; (copy-file "src/version.h.in" "src/version.h")))
158; (sha256
159; (base32
160; "13l95h5krmv7syidw9c4gn62ac5qcqg9pmfh6x8ydjws97h05jvz"))
161; (patches (list hyprland-unbundle-wlroots-patch))))))
162
163hyprlock
diff --git a/modules/ryan-packages/wmrosenthal.bak b/modules/ryan-packages/wmrosenthal.bak
new file mode 100644
index 0000000..5495378
--- /dev/null
+++ b/modules/ryan-packages/wmrosenthal.bak
@@ -0,0 +1,371 @@
1(define-module (ryan-packages wmrosenthal)
2 #:use-module ((guix licenses) #:prefix license:)
3 #:use-module (guix build-system cmake)
4 #:use-module (guix build-system gnu)
5 #:use-module (guix build-system meson)
6 #:use-module (guix build-system qt)
7 #:use-module (guix download)
8 #:use-module (guix gexp)
9 #:use-module (guix git-download)
10 #:use-module (guix packages)
11 #:use-module (guix utils)
12 #:use-module (gnu packages autotools)
13 #:use-module (gnu packages base)
14 #:use-module (gnu packages bash)
15 #:use-module (gnu packages compression)
16 #:use-module (gnu packages freedesktop)
17 #:use-module (gnu packages gcc)
18 #:use-module (gnu packages cmake)
19 #:use-module (gnu packages gl)
20 #:use-module (gnu packages glib)
21 #:use-module (gnu packages gnome)
22 #:use-module (gnu packages gtk)
23 #:use-module (gnu packages guile)
24 #:use-module (gnu packages image)
25 #:use-module (gnu packages linux)
26 #:use-module (gnu packages man)
27 #:use-module (gnu packages pciutils)
28 #:use-module (gnu packages pkg-config)
29 #:use-module (gnu packages python)
30 #:use-module (gnu packages qt)
31 #:use-module (gnu packages web)
32 #:use-module (gnu packages wm)
33 #:use-module (gnu packages xdisorg)
34 #:use-module (rosenthal packages freedesktop))
35
36(define cairo-for-hyprland
37 (package
38 (inherit cairo)
39 (name "cairo")
40 (version "1.18.0")
41 (source (origin
42 (method url-fetch)
43 (uri (string-append "https://cairographics.org/releases/cairo-"
44 version ".tar.xz"))
45 (sha256
46 (base32
47 "0r0by563s75xyzz0d0j1nmjqmdrk2x9agk7r57p3v8vqp4v0ffi4"))))
48 (build-system meson-build-system)
49 (arguments
50 (list #:tests? #f
51 #:glib-or-gtk? #t
52 #:configure-flags
53 #~(list "-Dspectre=disabled")))
54 (outputs '("out"))))
55
56(define hwdata-for-hyprland
57 (package
58 (inherit hwdata)
59 (arguments
60 (substitute-keyword-arguments (package-arguments hwdata)
61 ((#:phases _) #~%standard-phases)))
62 (outputs '("out"))))
63
64(define libdrm-for-hyprland
65 (package
66 (inherit libdrm)
67 (name "libdrm")
68 (version "2.4.120")
69 (source (origin
70 (method url-fetch)
71 (uri (string-append
72 "https://dri.freedesktop.org/libdrm/libdrm-"
73 version ".tar.xz"))
74 (sha256
75 (base32
76 "0yijzgg6rdsa68bz03sw0lcfa2nclv9m3as1cja50wkcyxim7x9v"))))))
77
78(define udis86-for-hyprland
79 (let ((revision "186")
80 (commit "5336633af70f3917760a6d441ff02d93477b0c86"))
81 (package
82 (name "udis86")
83 (version (git-version "1.7.2" revision commit))
84 (source (origin
85 (method git-fetch)
86 (uri (git-reference
87 (url "https://github.com/canihavesomecoffee/udis86")
88 (commit commit)))
89 (file-name (git-file-name name version))
90 (sha256
91 (base32
92 "0y5z1169wff578jylpafsww4px4y6gickhcs885a9c660d8xs9qy"))))
93 (build-system gnu-build-system)
94 (native-inputs (list autoconf automake libtool python-minimal-wrapper))
95 (home-page "https://github.com/canihavesomecoffee/udis86")
96 (synopsis "Disassembler Library for x86 and x86-64")
97 (description
98 "Udis86 is a disassembler for the x86 and x86-64 class of instruction
99set architectures. It consists of a C library called @code{libudis86} and a
100command line tool called @code{udcli} that incorporates the library.")
101 (license license:bsd-2))))
102
103(define wayland-protocols-for-hyprland
104 (package
105 (inherit wayland-protocols)
106 (name "wayland-protocols")
107 (version "1.34")
108 (source (origin
109 (method url-fetch)
110 (uri (string-append
111 "https://gitlab.freedesktop.org/wayland/wayland-protocols"
112 "/-/releases/" version "/downloads/"
113 "wayland-protocols-" version ".tar.xz"))
114 (sha256
115 (base32
116 "1sxgvis0abkymc02nhx2svm60myiq3shvy759sphpxl5rp52g6y5"))))))
117
118(define wlroots-hyprland
119 (package
120 (inherit wlroots)
121 (name "wlroots")
122 (version "611a4f24cd2384378f6e500253983107c6656c64")
123 (source (origin
124 (method git-fetch)
125 (uri (git-reference
126 (url "https://github.com/hyprwm/wlroots-hyprland")
127 (commit version)))
128 (file-name (git-file-name name version))
129 (sha256
130 (base32
131 "0wpqa241656rcnpszkq14ikz4dxsal2xrrc7ryn22xmciw4rkxxw"))))
132 (propagated-inputs
133 (modify-inputs (package-propagated-inputs wlroots)
134 (prepend libdrm-for-hyprland)
135 (replace "libinput-minimal" libinput-minimal-1.24.0)
136 (replace "wayland-protocols" wayland-protocols-for-hyprland)))
137 (native-inputs
138 (modify-inputs (package-native-inputs wlroots)
139 (replace "hwdata" `(,hwdata-for-hyprland "out"))))))
140
141(define-public hyprcursor
142 (package
143 (name "hyprcursor")
144 (version "0.1.5")
145 (source (origin
146 (method git-fetch)
147 (uri (git-reference
148 (url "https://github.com/hyprwm/hyprcursor")
149 (commit (string-append "v" version))))
150 (file-name (git-file-name name version))
151 (sha256
152 (base32
153 "0252abb9yjskclhxjc2ar6r2x9pfllpbas7rfp4597i2gnxrzbvv"))))
154 (build-system cmake-build-system)
155 (arguments (list #:tests? #f)) ;FIXME
156 (inputs (list cairo-for-hyprland hyprlang librsvg libzip))
157 (native-inputs (list gcc-13 pkg-config))
158 (home-page "https://hyprland.org/")
159 (synopsis "Hyprland cursor format, library and utilities")
160 (description
161 "This package provides Hyprland cursor format, library and utilities.")
162 (license license:bsd-3)))
163
164(define-public hyprland-protocols
165 (package
166 (name "hyprland-protocols")
167 (version "0.2")
168 (source (origin
169 (method git-fetch)
170 (uri (git-reference
171 (url "https://github.com/hyprwm/hyprland-protocols")
172 (commit (string-append "v" version))))
173 (file-name (git-file-name name version))
174 (sha256
175 (base32
176 "1drjznj7fn6m5m6skhzh0p031cb5x0bb4i56jxnxwpwaa71g1z20"))))
177 (build-system meson-build-system)
178 (home-page "https://hyprland.org")
179 (synopsis "Wayland protocol extensions for Hyprland")
180 (description
181 "This package provides Wayland protocol extensions for Hyprland and it
182exists in an effort to bridge the gap between Hyprland and KDE/Gnome's
183functionality. Since @code{wlr-protocols} is closed for new submissions, and
184@code{wayland-protocols} is very slow with changes, this package will hold
185protocols used by Hyprland to bridge the aforementioned gap.")
186 (license license:bsd-3)))
187
188(define-public hyprland
189 (package
190 (name "hyprland")
191 (version "fe7b748eb668136dd0558b7c8279bfcd7ab4d759")
192 (source (origin
193 (method git-fetch)
194 (uri (git-reference
195 (url "https://github.com/hyprwm/Hyprland")
196 (commit version)
197 (recursive? #t)))
198 (file-name (git-file-name name "0.39.1"))
199 ; (modules '((guix build utils)))
200 ; (snippet
201 ; '(begin
202 ; ;; Remove bundled sources and hyprpm utility.
203 ; (substitute* "meson.build"
204 ; ((".*hyprpm/src.*") ""))
205 ; (for-each delete-file-recursively
206 ; '("hyprpm"
207 ; "subprojects"))))
208 (sha256
209 (base32
210 "1b2l1j7i7fgy66c1nai7z16l0a95ay3xqq7yr2r6h7sq0jlnpgpc"))))
211 (build-system meson-build-system)
212 (arguments
213 (list #:build-type "release"
214 #:phases
215 #~(modify-phases %standard-phases
216 (add-after 'unpack 'fix-path
217 (lambda* (#:key inputs #:allow-other-keys)
218 (substitute* (find-files "src" "\\.cpp$")
219 (("/usr/local(/bin/Hyprland)" _ path)
220 (string-append #$output path))
221 (("/usr") #$output)
222 (("(execAndGet\\(\")\\<(cat|fc-list|lspci)\\>"
223 _ pre cmd)
224 (string-append
225 pre (search-input-file
226 inputs (string-append "bin/" cmd))))
227 (("\\<cc\\>") (search-input-file inputs "bin/gcc"))
228 ;; NOTE: Add binutils to inputs will override ld-wrapper.
229 (("(execAndGet\\(\\(\")\\<nm\\>" _ pre)
230 (string-append pre #$binutils "/bin/nm"))
231 (("\\<(addr2line|objcopy)\\>" _ cmd)
232 (string-append #$binutils "/bin/" cmd))))))))
233 (native-inputs (cons* (list "gcc-13" gcc-13) (list "jq" jq) (list "pkg-config" pkg-config) (list "cmake" cmake) (list "hwdata" hwdata-for-hyprland) (package-native-inputs wlroots)))
234 (propagated-inputs
235 (cons*
236 (list "libdrm-for-hyprland" libdrm-for-hyprland)
237 (list "libinput-minimal" libinput-minimal-1.24.0)
238 (list "wayland-protocols" wayland-protocols-for-hyprland)
239 (package-propagated-inputs wlroots)))
240
241 (inputs
242 (list cairo-for-hyprland
243 gcc-13
244 hyprcursor
245 hyprland-protocols
246 hyprlang
247 pango
248 pciutils))
249 (home-page "https://hyprland.org")
250 (synopsis "Dynamic tiling Wayland compositor based on wlroots")
251 (description
252 "Hyprland is a dynamic tiling Wayland compositor based on @code{wlroots}
253that doesn't sacrifice on its looks. It supports multiple layouts, fancy
254effects, has a very flexible IPC model allowing for a lot of customization, and
255more.")
256 (license license:bsd-3)))
257
258(define-public hyprlang
259 (package
260 (name "hyprlang")
261 (version "0.5.0")
262 (source (origin
263 (method git-fetch)
264 (uri (git-reference
265 (url "https://github.com/hyprwm/hyprlang")
266 (commit (string-append "v" version))))
267 (file-name (git-file-name name version))
268 (sha256
269 (base32
270 "0f8mahg6d6wylybvh6hgayls57miwwv4w69fbaskd8d7dkg2h7kd"))))
271 (build-system cmake-build-system)
272 (native-inputs (list gcc-13))
273 (home-page "https://hyprland.org/hyprlang/")
274 (synopsis "Official implementation library for hypr config language")
275 (description
276 "This package provides the official implementation for hypr configuration
277language used in @code{hyprland}.")
278 (license license:gpl3+)))
279
280(define-public grimblast
281 (package
282 (name "grimblast")
283 (version "0.1")
284 (source (origin
285 (method git-fetch)
286 (uri (git-reference
287 (url "https://github.com/hyprwm/contrib")
288 (commit (string-append "v" version))))
289 (file-name (git-file-name name version))
290 (sha256
291 (base32
292 "0ld0sj7ahf9jf8cqzbqkhj3m2w60027ixic24ih26nwy90b5qjwx"))))
293 (build-system gnu-build-system)
294 (arguments
295 (list #:tests? #f ;no tests
296 #:make-flags
297 #~(list (string-append "PREFIX=" #$output))
298 #:phases
299 #~(modify-phases %standard-phases
300 (delete 'configure)
301 (add-after 'unpack 'chdir
302 (lambda _
303 (chdir "grimblast")))
304 (add-after 'install 'wrap
305 (lambda* (#:key inputs #:allow-other-keys)
306 (let ((grimblast (string-append #$output "/bin/grimblast")))
307 (wrap-script grimblast
308 `("PATH" suffix
309 ,(map (lambda (program)
310 (dirname (search-input-file
311 inputs (string-append "/bin/" program))))
312 '("grim" "slurp" "hyprctl" "wl-copy" "jq"
313 "notify-send" "date"))))))))))
314 (native-inputs (list scdoc))
315 (inputs (list grim guile-3.0 jq libnotify slurp hyprland wl-clipboard))
316 (home-page "https://github.com/hyprwm/contrib")
317 (synopsis "Hyprland version of Grimshot")
318 (description "A Hyprland version of Grimshot.")
319 (license license:expat)))
320
321(define-public xdg-desktop-portal-hyprland
322 (package
323 (name "xdg-desktop-portal-hyprland")
324 (version "1.3.1")
325 (source (origin
326 (method git-fetch)
327 (uri (git-reference
328 (url "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
329 (commit (string-append "v" version))))
330 (file-name (git-file-name name version))
331 (sha256
332 (base32
333 "0fdbzxanmmzrvb9wfzg1pdsnlg7dl6v5k8bl44w10n48s7bbbzn0"))))
334 (build-system qt-build-system)
335 (arguments
336 (list #:tests? #f ;No tests
337 #:qtbase qtbase
338 #:phases
339 #~(modify-phases %standard-phases
340 (add-after 'unpack 'fix-path
341 (lambda* (#:key inputs #:allow-other-keys)
342 (substitute* (find-files "." "\\.cp?*$")
343 (("/bin/sh") "sh")
344 (("\\<(sh|grim|hyprctl|slurp)\\>" _ cmd)
345 (search-input-file inputs (string-append "/bin/" cmd)))
346 (("\\<(hyprland-share-picker)\\>" _ cmd)
347 (string-append #$output "/bin/" cmd))))))))
348 (native-inputs
349 (list gcc-13 pkg-config wayland))
350 (inputs
351 (list bash-minimal
352 grim
353 hyprland
354 hyprland-protocols
355 hyprlang
356 mesa
357 pipewire
358 qtwayland
359 sdbus-c++
360 slurp
361 wayland-protocols))
362 (home-page "https://github.com/hyprwm/xdg-desktop-portal-hyprland")
363 (synopsis "XDG Desktop Portal backend for Hyprland")
364 (description
365 "This package provides @code{xdg-desktop-portal-hyprland}, which extends
366@code{xdg-desktop-portal-wlr} for Hyprland with support for
367@code{xdg-desktop-portal} screenshot and casting interfaces, while adding a few
368extra portals specific to Hyprland, mostly for window sharing.")
369 (license license:bsd-3)))
370
371hyprland