Skip to content

Commit

Permalink
add hyprland & xdph
Browse files Browse the repository at this point in the history
  • Loading branch information
uku3lig committed Jan 13, 2024
1 parent 03981bf commit 3b4bee0
Show file tree
Hide file tree
Showing 3 changed files with 118 additions and 1 deletion.
30 changes: 30 additions & 0 deletions exprs/hyprlang.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hyprlang";
version = "0.2.1";

src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprlang";
rev = "v${finalAttrs.version}";
hash = "sha256-KjAYC3sMyfipCHpkj0XSPw/C9KdCNlWtguQW5rEUiqo=";
};

nativeBuildInputs = [cmake];

outputs = ["out" "dev"];

doCheck = true;

meta = with lib; {
homepage = "https://github.com/hyprwm/hyprlang";
description = "The official implementation library for the hypr config language";
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
})
11 changes: 10 additions & 1 deletion exprs/overlay.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
final: prev: {
final: prev: rec {
# FUCK REPRODUCIBILITY RARGHGHGHGHDKGJDKLGJSDKLGMDJGLKSDJLMGSJDKMGJZEIZ
vesktop = prev.vesktop.overrideAttrs (old: {patches = [];});

Expand All @@ -10,4 +10,13 @@ final: prev: {
obs-studio = prev.obs-studio.overrideAttrs (old: {
cmakeFlags = old.cmakeFlags ++ [(prev.lib.cmakeBool "ENABLE_LIBFDK" true)]; # NixOS/nixpkgs#278127
});

hyprlang = prev.callPackage ./hyprlang.nix {
stdenv = prev.gcc13Stdenv;
};

xdg-desktop-portal-hyprland = prev.qt6Packages.callPackage ./xdph.nix {
stdenv = prev.gcc13Stdenv;
hyprlang = hyprlang;
};
}
78 changes: 78 additions & 0 deletions exprs/xdph.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
wayland-scanner,
makeWrapper,
wrapQtAppsHook,
hyprland-protocols,
hyprlang,
libdrm,
mesa,
pipewire,
qtbase,
qttools,
qtwayland,
sdbus-cpp,
systemd,
wayland,
wayland-protocols,
hyprland,
hyprpicker,
slurp,
}:
stdenv.mkDerivation (self: {
pname = "xdg-desktop-portal-hyprland";
version = "1.3.1";

src = fetchFromGitHub {
owner = "hyprwm";
repo = "xdg-desktop-portal-hyprland";
rev = "v${self.version}";
hash = "sha256-wP611tGIWBA4IXShWbah7TxqdbvhfcfT2vnXalX/qzk=";
};

nativeBuildInputs = [
cmake
pkg-config
wayland-scanner
makeWrapper
wrapQtAppsHook
];

buildInputs = [
hyprland-protocols
hyprlang
libdrm
mesa
pipewire
qtbase
qttools
qtwayland
sdbus-cpp
systemd
wayland
wayland-protocols
];

dontWrapQtApps = true;

postInstall = ''
wrapProgramShell $out/bin/hyprland-share-picker \
"''${qtWrapperArgs[@]}" \
--prefix PATH ":" ${lib.makeBinPath [slurp hyprland]}
wrapProgramShell $out/libexec/xdg-desktop-portal-hyprland \
--prefix PATH ":" ${lib.makeBinPath [(placeholder "out") hyprpicker]}
'';

meta = with lib; {
homepage = "https://github.com/hyprwm/xdg-desktop-portal-hyprland";
description = "xdg-desktop-portal backend for Hyprland";
license = licenses.bsd3;
maintainers = with maintainers; [fufexan];
platforms = platforms.linux;
};
})

0 comments on commit 3b4bee0

Please sign in to comment.