(define-module (sigils packages hyprland) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system meson) #:use-module (guix build-system cmake) #:use-module (gnu packages cpp) #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages wm) #:use-module (gnu packages xdisorg) #:use-module (sigils packages upstream)) (define mesa-opengl (package/inherit mesa (inputs (modify-inputs (package-inputs mesa) (append libglvnd))) (arguments (substitute-keyword-arguments (package-arguments mesa) ((#:configure-flags flags) #~(cons* "-Dopengl=true" "-Degl=enabled" "-Dglvnd=enabled" #$flags)))))) ;;; Hyprland -- list of changes and notes about the guix version ;;; All: (arguments '(#:build-type "release")) ;;; All: (url "https://code.hyprland.org/hyprwm/...") ;;; aquamarine: eudev in guix version ;;; hyprland: binutils, pciutils, re2-next / pas glib, libxcb, tomlplusplus (define-public hyprsunset (package (name "hyprsunset") (version "0.1.0") (home-page "https://hyprland.org/") (source (origin (method git-fetch) (uri (git-reference ;; TODO: hyprland git repo (url "https://github.com/hyprwm/hyprsunset") (commit (string-append "v" version)))) (sha256 (base32 "110cw7nd6a0krsg6764hx2i45lc8n4b1iln3b8jz1x6pziw1qna9")))) (build-system cmake-build-system) (native-inputs (list gcc-14 ;; TODO: remove this when GCC 13 is the default pkg-config hyprwayland-scanner)) (inputs (list wayland wayland-protocols hyprutils hyprland-protocols)) (arguments '(#:tests? #f ;; No tests #:build-type "release")) (synopsis "blue-light filter on Hyprland") (description "hyprsunset is an utility that provides a blue light filter for your system.") (license license:bsd-3))) ;;; hyprland plugins (define-public hyprsplit (package (name "hyprsplit") (version (package-version hyprland)) (home-page "https://github.com/shezdy/hyprsplit") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/shezdy/hyprsplit") (commit (string-append "v" version)))) (sha256 (base32 "1wbqxa7ynlnh0d1gnnqiimad4900zvgr53nr2wl22zmjcszi99r0")))) (build-system meson-build-system) ;; Hyprland plugins need the same inputs as Hyprland, and Hyprland itself (native-inputs (package-native-inputs hyprland)) (inputs (modify-inputs (package-inputs hyprland) (append hyprland))) (arguments '(#:build-type "release")) (synopsis "awesome / dwm like workspaces for hyprland") (description "hyprland plugin for separate sets of workspaces on each monitor") (license license:bsd-3))) (define (hyprland-plugins plugin syn) (package (name plugin) (version "0.46.0") ;; 0.46.2 not there yet (home-page "https://hyprland.org/") (source (origin (method git-fetch) (uri (git-reference (url "https://code.hyprland.org/hyprwm/hyprland-plugins") (commit (string-append "v" version)))) (sha256 (base32 "1nh6x6gwbhsljfhpvqn85n9s1l0xlrljlm2xy5msrikssxbxgmj3")))) (build-system meson-build-system) ;; Hyprland plugins need the same inputs as Hyprland, and Hyprland itself (native-inputs (package-native-inputs hyprland)) (inputs (modify-inputs (package-inputs hyprland) (append hyprland))) (arguments (list #:build-type "release" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'chdir-plugin (lambda _ (chdir #$plugin)))))) (synopsis syn) (description "This repo houses official plugins for Hyprland.") (license license:bsd-3))) (define-public borders-plus-plus (hyprland-plugins "borders-plus-plus" "adds one or two additional borders to windows")) (define-public csgo-vulkan-fix (hyprland-plugins "csgo-vulkan-fix" "fixes custom resolutions on CS:GO with -vulkan")) (define-public hyprbars (hyprland-plugins "hyprbars" "adds title bars to windows")) (define-public hyprexpo (hyprland-plugins "hyprexpo" "adds an expo-like workspace overview")) (define-public hyprtrail (hyprland-plugins "hyprtrail" "adds smooth trails behind moving windows")) (define-public hyprwinwrap (hyprland-plugins "hyprwinwrap" "clone of xwinwrap, allows you to put any app as a wallpaper"))