nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenvNoCC,
4 bash,
5 copyDesktopItems,
6 coreutils,
7 fetchFromGitHub,
8 jq,
9 makeDesktopItem,
10 makeWrapper,
11 nix-update-script,
12 scdoc,
13 slurp,
14}:
15stdenvNoCC.mkDerivation (finalAttrs: {
16 pname = "hyprprop";
17 version = "0.1-unstable-2025-12-18";
18
19 src = fetchFromGitHub {
20 owner = "hyprwm";
21 repo = "contrib";
22 rev = "41dbcac8183bb1b3a4ade0d8276b2f2df6ae4690";
23 hash = "sha256-d3HmUbmfTDIt9mXEHszqyo2byqQMoyJtUJCZ9U1IqHQ=";
24 };
25
26 sourceRoot = "${finalAttrs.src.name}/hyprprop";
27
28 buildInputs = [
29 bash
30 scdoc
31 ];
32
33 makeFlags = [ "PREFIX=$(out)" ];
34
35 nativeBuildInputs = [
36 makeWrapper
37 copyDesktopItems
38 ];
39
40 postInstall = ''
41 wrapProgram $out/bin/hyprprop --prefix PATH ':' \
42 "${
43 lib.makeBinPath [
44 coreutils
45 slurp
46 jq
47 ]
48 }"
49 '';
50
51 desktopItems =
52 let
53 desktopItem = makeDesktopItem {
54 name = "hyprprop";
55 exec = "hyprprop";
56 desktopName = "Hyprprop";
57 terminal = true;
58 startupNotify = false;
59 };
60 in
61 [ desktopItem ];
62
63 passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
64 meta = {
65 description = "Xprop replacement for Hyprland";
66 license = lib.licenses.mit;
67 platforms = lib.platforms.unix;
68 teams = [ lib.teams.hyprland ];
69 mainProgram = "hyprprop";
70 };
71})