diff --git a/home-config/bashrc b/home-config/bashrc
index d28af9d..0c61ee6 100644
--- a/home-config/bashrc
+++ b/home-config/bashrc
@@ -50,3 +50,6 @@ export XDG_DATA_DIRS=$XDG_DATA_DIRS:/var/lib/flatpak/exports/share:/home/ryan/.l
#export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
#gpgconf --launch gpg-agent
export GPG_TTY=$(tty)
+
+# Setup zoxide for cd command provider
+eval "$(zoxide init --cmd cd bash)"
diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix
index 5c0ee46..aa90213 100644
--- a/home-config/nix-home-manager/home.nix
+++ b/home-config/nix-home-manager/home.nix
@@ -15,6 +15,12 @@
# release notes.
home.stateVersion = "22.11"; # Please read the comment before changing.
+ # Enable nix flakes
+ nix = {
+ package = pkgs.nix;
+ settings.experimental-features = [ "nix-command" "flakes" ];
+ };
+
# This value will set some environment variables to allow home-manager to
# function better outside of NixOS
nixpkgs.config.allowUnfree = true;
@@ -30,12 +36,12 @@
yt-dlp
#pass
rustup
+ zoxide
nodePackages.pnpm
gcc
pkg-config
wttrbar
swww
- hyprpicker
wl-clip-persist
gifski
waypaper
diff --git a/home-config/waybar/config b/home-config/waybar/config
index 8721a6a..99a7bef 100644
--- a/home-config/waybar/config
+++ b/home-config/waybar/config
@@ -5,7 +5,7 @@
"modules-left": ["hyprland/workspaces", "hyprland/submap"],
"modules-center": ["hyprland/window"],
- "modules-right": ["tray", "custom/spotify", "custom/weather", "custom/mail", "custom/storage", "backlight", "bluetooth", "pulseaudio", "network", "idle_inhibitor", "battery", "clock"],
+ "modules-right": ["tray", "custom/spotify", "privacy", "custom/weather", "custom/mail", "custom/storage", "backlight", "bluetooth", "pulseaudio", "network", "idle_inhibitor", "battery", "clock"],
"hyprland/submap": {
"format": " {}"
},
@@ -59,6 +59,23 @@
"on-click": "foot -t alacritty doas nmtui",
"tooltip": false
},
+ "privacy": {
+ "icon-spacing":4,
+ "icon-size":18,
+ "transition-duration":250,
+ "modules": [
+ {
+ "type":"screenshare",
+ "tooltip":true,
+ "tooltip-icon-size":24
+ },
+ {
+ "type":"audio-in",
+ "tooltip":true,
+ "tooltip-icon-size":24
+ }
+ ]
+ },
"pulseaudio": {
"format-alt": "{icon}",
"format": "{volume} {icon}",
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