No description
- Rust 77.8%
- Nix 22.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| .vscode | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| cargo-hot.nix | ||
| Cargo.lock | ||
| Cargo.toml | ||
| devenv.lock | ||
| devenv.nix | ||
| devenv.yaml | ||
| image.png | ||
| README.md | ||
| TODO.md | ||
hypr-share-picker
Replaces the default hyprland-share-picker binary to provide a nicer UI when selecting screenshare sources.
Installation (Nix)
Packaged in thegrind-nixpkgs.
1. Add the input
# flake.nix
{
inputs = {
thegrind-nixpkgs.url = "git+https://gitgud.boo/thegrind/nixpkgs";
};
}
Make the input available to your modules (specialArgs/extraSpecialArgs on your
nixosSystem / homeManagerConfiguration, or _module.args), then pull the
overlay in wherever you build pkgs:
nixpkgs.overlays = [ inputs.thegrind-nixpkgs.overlays.default ];
2. Set up
{ pkgs, lib, ... }:
let
picker = pkgs.thegrind.hypr-share-picker;
in
{
home.packages = [ picker ];
# XDPH probes for a binary named `hyprland-share-picker` by default, so it has
# to be told about this one explicitly.
xdg.configFile."hypr/xdph.conf".text = ''
screencopy {
custom_picker_binary = ${lib.getExe picker}
}
'';
}
Import it from your home-manager config:
imports = [ ./hypr-share-picker.nix ];
Then restart the portal:
systemctl --user restart xdg-desktop-portal-hyprland xdg-desktop-portal
NixOS (system-wide) instead of home-manager
{ pkgs, lib, ... }:
let
picker = pkgs.thegrind.hypr-share-picker;
in
{
environment.systemPackages = [ picker ];
environment.etc."xdg/hypr/xdph.conf".text = ''
screencopy {
custom_picker_binary = ${lib.getExe picker}
}
'';
}
Note a user's ~/.config/hypr/xdph.conf takes precedence over /etc/xdg.
