refactor(hyprland): wrap waybar to add hyprctl

nixos
Moritz Böhme 2023-05-31 15:53:21 +02:00
parent 888b3246a7
commit 254af322b5
Signed by: moritz
GPG Key ID: 970C6E89EB0547A9
2 changed files with 10 additions and 9 deletions

View File

@ -58,7 +58,16 @@ in
enable = true;
# use package with hyprland support for switching workspaces
package = pkgs.waybar-hyprland;
package = pkgs.symlinkJoin {
name = "waybar-hyprland";
paths = [ pkgs.waybar-hyprland ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/waybar \
--prefix PATH ":" "${hyprland}/bin"
'';
};
# start using systemd service
systemd = {

View File

@ -22,12 +22,4 @@ final: prev: {
--add-flags "--socket=wayland --enable-features=UseOzonePlatform --ozone-platform=wayland"
'';
};
waybar-hyprland = prev.waybar.overrideAttrs (old: {
pname = "${old.pname}-hyprland";
postPatch = old.postPatch or "" + ''
sed -i 's,zext_workspace_handle_v1_activate(workspace_handle_);,const std::string command = "${final.hyprland}/bin/hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());,g' src/modules/wlr/workspace_manager.cpp
'';
mesonFlags = old.mesonFlags or [ ] ++ [ "-Dexperimental=true" ];
});
}