Maybe fix hyprland.
This commit is contained in:
parent
e94f417cff
commit
38ef4c59f1
1 changed files with 29 additions and 3 deletions
|
|
@ -1,12 +1,38 @@
|
||||||
# settings/hyprland.nix
|
# settings/hyprland.nix
|
||||||
{ config, pkgs, lib, inputs, ... }:
|
{ config, pkgs, lib, inputs, ... }:
|
||||||
|
let
|
||||||
|
hyprland-pkgs = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
hyprutils = hyprland-pkgs.hyprutils;
|
||||||
|
|
||||||
|
# hyprutils-0.13.1 was compiled with GCC 15 (requires GLIBCXX_3.4.34) but
|
||||||
|
# its RPATH was patched to gcc-14.3.0-lib which only goes to GLIBCXX_3.4.33.
|
||||||
|
# Locate gcc-15's libstdc++ from hyprutils's own runtime closure so the
|
||||||
|
# version is always in sync with whatever hyprland shipped.
|
||||||
|
gcc15-lib = lib.head (lib.filter
|
||||||
|
(p: lib.hasInfix "gcc-15" p && lib.hasSuffix "-lib" p)
|
||||||
|
(lib.splitString "\n"
|
||||||
|
(lib.removeSuffix "\n"
|
||||||
|
(builtins.readFile (pkgs.writeReferencesToFile hyprutils)))));
|
||||||
|
|
||||||
|
hyprland-wrapped = pkgs.symlinkJoin {
|
||||||
|
name = hyprland-pkgs.hyprland.name;
|
||||||
|
paths = [ hyprland-pkgs.hyprland ];
|
||||||
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||||
|
postBuild = ''
|
||||||
|
wrapProgram $out/bin/start-hyprland \
|
||||||
|
--set LD_PRELOAD "${gcc15-lib}/lib/libstdc++.so.6"
|
||||||
|
wrapProgram $out/bin/Hyprland \
|
||||||
|
--set LD_PRELOAD "${gcc15-lib}/lib/libstdc++.so.6"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
config = lib.mkIf (config.networking.hostName == "FredOS-Gaming") {
|
config = lib.mkIf (config.networking.hostName == "FredOS-Gaming") {
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
package = hyprland-wrapped;
|
||||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
portalPackage = hyprland-pkgs.xdg-desktop-portal-hyprland;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
|
|
@ -58,7 +84,7 @@
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.variables = [ "--all" ];
|
systemd.variables = [ "--all" ];
|
||||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
package = hyprland-wrapped;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
monitor = "DP-2,3440x1440@180,0x0,1";
|
monitor = "DP-2,3440x1440@180,0x0,1";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue