diff --git a/home-config/home-configuration.scm b/home-config/home-configuration.scm
index b89ff26..a3454cd 100644
--- a/home-config/home-configuration.scm
+++ b/home-config/home-configuration.scm
@@ -22,6 +22,8 @@
(ryan-config utils)
(ryan-packages freedesktop)
(ryan-packages calcurse)
+ (ryan-packages binaries)
+ (rosenthal packages binaries)
(ryan-packages mozilla))
(define my-neovim
@@ -127,7 +129,7 @@
;"firefox"
"signal-desktop"
"git-lfs"))
- (list my-neovim wl-mirror firefox-wrapped calcurse-fixed)))
+ (list my-neovim wl-mirror firefox-wrapped calcurse-fixed superfile-bin)))
;; Below is the list of Home services. To search for available
;; services, run 'guix home search KEYWORD' in a terminal.
diff --git a/modules/ryan-packages/binaries.scm b/modules/ryan-packages/binaries.scm
new file mode 100644
index 0000000..f05636d
--- /dev/null
+++ b/modules/ryan-packages/binaries.scm
@@ -0,0 +1,55 @@
+(define-module (ryan-packages binaries)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system copy)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bootstrap)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages elf)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages glib))
+
+(define-public superfile-bin
+ (package
+ (name "superfile-bin")
+ (version "1.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/yorukot/superfile" "/releases/download/v"
+ version "/superfile-linux-v" version "-amd64.tar.gz"))
+ (sha256
+ (base32
+ "1hnhkd6ihp0wcrn54ipyki500xmz1kapaj8sykg7ykh1vv8y6hmm"))))
+ (build-system copy-build-system)
+ (arguments
+ (list #:install-plan #~'((#$(string-append
+ "superfile-linux-v" (package-version this-package) "-amd64/spf")
+ "bin/spf"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'strip)
+ (add-after 'install 'patch-elf
+ (lambda _
+ (let ((spf (string-append #$output "/bin/spf")))
+ (invoke "patchelf" "--set-interpreter"
+ (string-append #$(this-package-input "glibc")
+ #$(glibc-dynamic-linker))
+ spf)
+ (invoke "patchelf" "--set-rpath"
+ (string-append (ungexp (this-package-input "gcc")
+ "lib")
+ "/lib")
+ spf)))))))
+ (supported-systems '("x86_64-linux"))
+ (native-inputs (list patchelf))
+ (inputs (list `(,gcc "lib") glibc))
+ (home-page "https://github.com/yorukot/superfile")
+ (synopsis "Pretty fancy and modern terminal file manager")
+ (description
+ "Terminal file-manager written in Go that is modern and extensible.")
+ (license license:expat)))
+
+superfile-bin
diff --git a/modules/ryan-packages/wm.scm b/modules/ryan-packages/wm.scm
index 3f951cc..407c5fb 100644
--- a/modules/ryan-packages/wm.scm
+++ b/modules/ryan-packages/wm.scm
@@ -97,7 +97,7 @@
(define-public hyprlock
(package
(name "hyprlock")
- (version "0.2.0")
+ (version "0.3.0")
(source
(origin
(method git-fetch)
@@ -106,7 +106,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0vj8jfflc8zw769dqdqq7ms3dfafsirb2c0g37xsqkc4rzzri7nn"))))
+ (base32 "0w2a25hivn8xd8p05vc9xg57rd9siv12dwmr4skpqx4dcmxxbg5d"))))
(build-system cmake-build-system)
(native-inputs
(list gcc-13
@@ -117,6 +117,7 @@
(list cairo
pango
libxkbcommon
+ libdrm
hyprlang
mesa
wayland-protocols
@@ -126,4 +127,4 @@
(synopsis "Screen locker for Hyprland")
(description "Screen locker for hyprland.")))
-waybar-new
+hyprlock