{ prev, final, flakeInputs, ... }: with flakeInputs; let workspace = uv2nix.lib.workspace.loadWorkspace { workspaceRoot = ./.; }; overlay = workspace.mkPyprojectOverlay { sourcePreference = "wheel"; }; python = final.python312; # hacks = final.callPackage pyproject-nix.build.hacks { }; pythonSet = (final.callPackage pyproject-nix.build.packages { inherit python; }).overrideScope ( prev.lib.composeManyExtensions [ pyproject-build-systems.overlays.default overlay # (final: prev: { # pygobject = hacks.nixpkgsPrebuilt { # from = python.pkgs.pygobject3; # }; # }) ] ); virtualEnv = pythonSet.mkVirtualEnv "waybar-systemd-inhibit-env" workspace.deps.default; in { waybar-systemd-inhibit = virtualEnv.overrideAttrs (oldAttrs: { meta = (oldAttrs.meta or {}) // { mainProgram = "waybar-systemd-inhibit"; }; nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ final.gobject-introspection final.wrapGAppsHook ]; }); }