diff --git a/home-config/hypr/hyprland.conf b/home-config/hypr/hyprland.conf index e4056c4..5df73de 100644 --- a/home-config/hypr/hyprland.conf +++ b/home-config/hypr/hyprland.conf @@ -178,4 +178,20 @@ bind = $mainMod SHIFT, Print, exec, grimblast edit area bind = $mainMod, N, exec, makoctl dismiss bind = $mainMod SHIFT, N, exec, makoctl dismiss -a +# Window Rules + +# Firefox PiP +windowrulev2 = float, class:^(firefox)$, title:^(Picture-in-Picture)$ +windowrulev2 = pin, class:^(firefox)$, title:^(Picture-in-Picture)$ +windowrulev2 = size 578 326, class:^(firefox)$, title:^(Picture-in-Picture)$ + +# Firefox Sharing Indicator +windowrulev2 = float, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ +windowrulev2 = size 56 31, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ +windowrulev2 = move 50% 0, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ + +# Weather +windowrulev2 = float,class:^(ala-wttr)$ +windowrulev2 = size 740 712, class:^(ala-wttr)$ + exec-once = ~/.config/hypr/autostart.sh diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix index 5ee8d22..d19051c 100644 --- a/home-config/nix-home-manager/home.nix +++ b/home-config/nix-home-manager/home.nix @@ -28,6 +28,7 @@ # # "Hello, world!" when run. # pkgs.hello yt-dlp + xdg-desktop-portal-hyprland # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the diff --git a/modules/ryan-config/base-system.scm b/modules/ryan-config/base-system.scm index 8ff2581..9273e17 100644 --- a/modules/ryan-config/base-system.scm +++ b/modules/ryan-config/base-system.scm @@ -141,7 +141,7 @@ "wireplumber" "wireshark" "zsh")) - (list my-ca-certs xdg-desktop-portal-wlr-new swaylock-effects-new waybar-new) + (list my-ca-certs swaylock-effects-new waybar-new xdg-desktop-portal-hyprland hyprland-share-picker) %my-base-packages )) ;; Below is the list of system services. To search for available diff --git a/modules/ryan-packages/freedesktop.scm b/modules/ryan-packages/freedesktop.scm index 6c0770a..57c3442 100644 --- a/modules/ryan-packages/freedesktop.scm +++ b/modules/ryan-packages/freedesktop.scm @@ -1,10 +1,20 @@ (define-module (ryan-packages freedesktop) #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) + #:use-module (guix build-system meson) + #:use-module (guix build-system qt) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages gl) + #:use-module (gnu packages linux) + #:use-module (gnu packages qt) + #:use-module (gnu packages cmake) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages freedesktop) + #:use-module (rosenthal packages wm) #:use-module (gnu packages wm)) (define-public xdg-desktop-portal-wlr-new @@ -22,3 +32,47 @@ (patches (search-patches "xdg-desktop-portal-wlr-harcoded-length.patch")))) (native-inputs (modify-inputs (package-native-inputs xdg-desktop-portal-wlr) (append wlroots))))) + +(define-public xdg-desktop-portal-hyprland + (package + (name "xdg-desktop-portal-hyprland") + (version "0.4.0") + (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 + "1dcglmx02j73qbmw9qsacamn8byakyzwknpqjnhsyphixb4crrdg")))) + (build-system meson-build-system) + (arguments + (list + #:configure-flags #~(list "-Dsystemd=disabled"))) + (native-inputs (list cmake pkg-config wayland hyprland-protocols)) + (inputs (list elogind hyprland hyprland-protocols pipewire wayland-protocols wayland libinih mesa `(,util-linux "lib"))) + (home-page "") + (synopsis "test") + (description "test") + (license license:bsd-3))) + +(define-public hyprland-share-picker + (package + (inherit xdg-desktop-portal-hyprland) + (name "hyprland-share-picker") + (build-system qt-build-system) + (inputs (modify-inputs (package-inputs xdg-desktop-portal-hyprland) + (append qtwayland-5))) + (native-inputs (modify-inputs (package-native-inputs xdg-desktop-portal-hyprland) + (append qtwayland-5))) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "hyprland-share-picker")))))) + (synopsis "share picker"))) + +hyprland-share-picker