From 9672616f431c8c4161238fe7ad1e2b4cf3040320 Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Thu, 15 Feb 2024 13:22:50 -0500 Subject: Added zoxide for cd, updated bashrc, trying to get latest hyprland portal working, and beginning to try and use flakes in home-manager for nix packages. --- modules/ryan-packages/freedesktop.scm | 98 ++++++++++++++++++++++++++++++++--- modules/ryan-packages/wm.scm | 5 +- 2 files changed, 96 insertions(+), 7 deletions(-) (limited to 'modules/ryan-packages') diff --git a/modules/ryan-packages/freedesktop.scm b/modules/ryan-packages/freedesktop.scm index ab610ce..4f28358 100644 --- a/modules/ryan-packages/freedesktop.scm +++ b/modules/ryan-packages/freedesktop.scm @@ -4,6 +4,7 @@ #:use-module (guix gexp) #:use-module (guix build-system meson) #:use-module (guix build-system cmake) + #:use-module (guix build-system qt) #:use-module (guix build utils) #:use-module (guix packages) #:use-module (guix git-download) @@ -43,7 +44,7 @@ (define-public xdg-desktop-portal-hyprland-ryan (package (name "xdg-desktop-portal-hyprland") - (version "1.2.6") + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -52,8 +53,8 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0gjg4wy5jlv1mvaf49w6dwpqix6yhcipwdq5zvmm7z8jrrfzj6jm")))) - (build-system meson-build-system) + "0fdbzxanmmzrvb9wfzg1pdsnlg7dl6v5k8bl44w10n48s7bbbzn0")))) + (build-system qt-build-system) (arguments (list #:tests? #f @@ -69,13 +70,98 @@ (search-input-file inputs (string-append "/bin/" cmd))) (("\\<(hyprctl-share-picker)\\>" _ cmd) (string-append #$output "/bin/" cmd)))))))) - (native-inputs (list gcc-13 pkg-config wayland)) - (inputs (list bash-minimal grim hyprland hyprland-protocols mesa pipewire qtbase-5 sdbus-c++ slurp wayland-protocols)) + (native-inputs (list gcc-13 pkg-config wayland hyprlang)) + (inputs (list bash-minimal grim hyprland hyprland-protocols mesa pipewire qtbase-5 sdbus-c++ slurp wayland-protocols qtwayland-5)) + (home-page "") + (synopsis "test") + (description "test") + (license license:bsd-3))) + +(define-public xdg-desktop-portal-hyprland-old + (package + (name "xdg-desktop-portal-hyprland") + (version "1.2.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprwm/xdg-desktop-portal-hyprland") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m82rrir2fg7h2cpch6wm3h1rkpnbh9pawlw1wdknw75mi6139r0")))) + (build-system meson-build-system) + (arguments + (list + #:modules + '((guix build utils) + (guix build meson-build-system) + ((guix build qt-build-system) #:prefix qt:)) + #:imported-modules + (append %meson-build-system-modules + %qt-build-system-modules) + #:tests? #f + #:configure-flags #~(list "-Dsystemd=disabled") + #:phases + ;; After building the portal, we need to build the share selector using qt + #~(modify-phases %standard-phases + (add-after 'install 'chdir + (lambda _ (chdir "../source/hyprland-share-picker/"))) + (add-after 'chdir 'check-setup + (assoc-ref qt:%standard-phases 'check-setup)) + (add-after 'check-setup 'qt-build + (lambda* (#:key inputs outputs #:allow-other-keys) + ((assoc-ref qt:%standard-phases 'build) + #:inputs inputs + #:outputs outputs + #:configure-flags '() + #:qtbase #$(this-package-native-input "qtbase-5")))) + (add-after 'qt-build 'qt-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((share-picker (string-append (assoc-ref outputs "out") + "/bin"))) + (install-file "build/hyprland-share-picker" share-picker) + #t))) + (add-after 'qt-install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap)) + (add-after 'qt-wrap 'dep-wrap + (lambda* (#:key inputs #:allow-other-keys) + (let ((hyprland-share-picker (string-append #$output "/bin/hyprland-share-picker"))) + (wrap-program hyprland-share-picker + `("PATH" suffix + ,(map (lambda (program) + (dirname (search-input-file + inputs (string-append "/bin/" program)))) + '("slurp")))))))))) + (native-inputs (list gcc-13 cmake pkg-config qtbase-5)) + (inputs (list elogind hyprland hyprland-protocols slurp pipewire wayland-protocols wayland libinih mesa sdbus-c++ qtwayland-5 `(,util-linux "lib"))) (home-page "") (synopsis "test") (description "test") (license license:bsd-3))) +(define-public hyprlang + (package + (name "hyprlang") + (version "0.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprwm/hyprlang") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sxr7whzjamjg9pcvpbxniwph5p3yy2qs87n91zqwb5y9z3gfd7m")))) + (build-system cmake-build-system) + (native-inputs + (list gcc-13)) + (home-page "") + (synopsis "test") + (description "test") + (license license:gpl3))) + + (define-public wl-mirror (package (name "wl-mirror") @@ -106,4 +192,4 @@ (description "mirror displays") (license license:expat))) -wl-mirror +xdg-desktop-portal-hyprland-ryan diff --git a/modules/ryan-packages/wm.scm b/modules/ryan-packages/wm.scm index 5dfbf54..8f3be42 100644 --- a/modules/ryan-packages/wm.scm +++ b/modules/ryan-packages/wm.scm @@ -1,11 +1,15 @@ (define-module (ryan-packages wm) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (gnu packages) + #:use-module (guix build-system cmake) #:use-module (gnu packages python) #:use-module (gnu packages audio) #:use-module (gnu packages glib) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages gtk) #:use-module (gnu packages llvm) #:use-module (gnu packages gcc) @@ -48,4 +52,3 @@ #:configure-flags #~(list "--wrap-mode=nodownload" "-Dexperimental=true"))) (inputs (modify-inputs (package-inputs waybar) (delete "gtkmm") (prepend gtkmm-ryan))))) ;(prepend python cava catch2 gtkmm))))) ;(native-inputs (modify-inputs (package-native-inputs waybar) (prepend gcc-13))))) -swaylock-effects-new -- cgit v1.2.3