hyprexpo: add nix derivation & meson

This commit is contained in:
Mihai Fufezan 2024-04-03 22:08:47 +03:00
parent 58aa63baf0
commit e70b46afd7
Signed by: fufexan
SSH key fingerprint: SHA256:SdnKmEpJrDu1+2UO1QpB/Eg4HKcdDi6n+xSRqFNJVpg
3 changed files with 55 additions and 1 deletions

View file

@ -23,7 +23,7 @@
});
in {
packages = eachSystem (system: {
inherit (pkgsFor.${system}) borders-plus-plus csgo-vulkan-fix hyprbars hyprtrails hyprwinwrap;
inherit (pkgsFor.${system}) borders-plus-plus csgo-vulkan-fix hyprbars hyprexpo hyprtrails hyprwinwrap;
});
overlays = {
@ -46,6 +46,7 @@
borders-plus-plus = callPackage ./borders-plus-plus {};
csgo-vulkan-fix = callPackage ./csgo-vulkan-fix {};
hyprbars = callPackage ./hyprbars {};
hyprexpo = callPackage ./hyprexpo {};
hyprtrails = callPackage ./hyprtrails {};
hyprwinwrap = callPackage ./hyprwinwrap {};
})

19
hyprexpo/default.nix Normal file
View file

@ -0,0 +1,19 @@
{
lib,
hyprland,
hyprlandPlugins,
}:
hyprlandPlugins.mkHyprlandPlugin {
pluginName = "hyprexpo";
version = "0.1";
src = ./.;
inherit (hyprland) nativeBuildInputs;
meta = with lib; {
homepage = "https://github.com/hyprwm/hyprland-plugins";
description = "Hyprland workspaces overview plugin";
license = licenses.bsd3;
platforms = platforms.linux;
};
}

34
hyprexpo/meson.build Normal file
View file

@ -0,0 +1,34 @@
project('hyprexpo', 'cpp',
version: '0.1',
default_options: ['buildtype=release'],
)
cpp_compiler = meson.get_compiler('cpp')
if cpp_compiler.has_argument('-std=c++23')
add_global_arguments('-std=c++23', language: 'cpp')
elif cpp_compiler.has_argument('-std=c++2b')
add_global_arguments('-std=c++2b', language: 'cpp')
else
error('Could not configure current C++ compiler (' + cpp_compiler.get_id() + ' ' + cpp_compiler.version() + ') with required C++ standard (C++23)')
endif
add_project_arguments(
[
'-Wno-narrowing',
],
language: 'cpp')
globber = run_command('find', '.', '-name', '*.cpp', check: true)
src = globber.stdout().strip().split('\n')
hyprland = dependency('hyprland')
shared_module(meson.project_name(), src,
dependencies: [
dependency('hyprland'),
dependency('pixman-1'),
dependency('libdrm'),
dependency('pangocairo'),
],
install: true,
)