diff --git a/home-config/home-configuration.scm b/home-config/home-configuration.scm index eaf8115..de6cce3 100644 --- a/home-config/home-configuration.scm +++ b/home-config/home-configuration.scm @@ -75,6 +75,8 @@ "kdenlive" "sqlite" "mpv" + "playerctl" + "pamixer" "git")) (list my-neovim))) diff --git a/home-config/hypr/hyprland.conf b/home-config/hypr/hyprland.conf index 2c23c63..fa5e6e4 100644 --- a/home-config/hypr/hyprland.conf +++ b/home-config/hypr/hyprland.conf @@ -15,7 +15,7 @@ monitor=,preferred,auto,1 # exec-once = waybar & hyprpaper & firefox # Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf +source = ~/.config/hypr/monitors.conf # Some default env vars. env = XCURSOR_SIZE,24 @@ -123,6 +123,19 @@ bind = $mainMod, F, fullscreen, 1 bind = $mainMod SHIFT, F, fullscreen bind = ,XF86MonBrightnessUp, exec, light -A 10 bind = ,XF86MonBrightnessDown, exec, light -U 10 +bind = ,XF86AudioRaiseVolume, exec, pamixer -i 5 +bind = ,XF86AudioLowerVolume, exec, pamixer -d 5 +bind = ,XF86AudioMute, exec, pamixer -t +bind = ,XF86AudioPlay, exec, playerctl play-pause +bind = ,XF86AudioNext, exec, playerctl next +bind = ,XF86AudioPrev, exec, playerctl previous +bind = ,XF86AudioStop, exec, playerctl stop + +# Move workspace between monitors +bind = $mainMod CTRL SHIFT, left, movecurrentworkspacetomonitor, l +bind = $mainMod CTRL SHIFT, right, movecurrentworkspacetomonitor, r +bind = $mainMod CTRL SHIFT, up, movecurrentworkspacetomonitor, u +bind = $mainMod CTRL SHIFT, down, movecurrentworkspacetomonitor, d # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l diff --git a/home-config/hypr/monitors.conf b/home-config/hypr/monitors.conf new file mode 100644 index 0000000..95844c8 --- /dev/null +++ b/home-config/hypr/monitors.conf @@ -0,0 +1,2 @@ +monitor=eDP-1,1920x1080, 1920x0, 1 +monitor=HDMI-A-1,1920x1080, 0x0, 1 diff --git a/modules/ryan-packages/freedesktop.scm b/modules/ryan-packages/freedesktop.scm index e5db0af..7cb9e8e 100644 --- a/modules/ryan-packages/freedesktop.scm +++ b/modules/ryan-packages/freedesktop.scm @@ -49,15 +49,33 @@ (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 'build 'chdir-and-build - (lambda _ (chdir "../source/hyprland-share-picker/") - (invoke "make"))) - (add-after 'install 'install-picker - (lambda _ (install-file "hyprland-share-picker" (string-append #$output "/bin"))))))) + (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-new + (lambda* (#:key inputs outputs #:allow-other-keys) + ((assoc-ref qt:%standard-phases 'build) + #:inputs inputs + #:outputs outputs + #:configure-flags '() + #:qtbase (let ((module (resolve-interface '(gnu packages qt))))(module-ref module 'qtbase))))) + (add-after 'qt-build 'qt-install + (assoc-ref qt:%standard-phases 'install)) + (add-after 'qt-install 'qt-wrap + (assoc-ref qt:%standard-phases 'qt-wrap))))) (native-inputs (list cmake pkg-config)) (inputs (list elogind hyprland hyprland-protocols pipewire wayland-protocols wayland libinih mesa qtwayland `(,util-linux "lib"))) (home-page "")