{ self, inputs, ... }: { perSystem = { pkgs, lib, ... }: let nixGLPackage = inputs.nixgl.packages.${pkgs.stdenv.hostPlatform.system}.nixGLIntel; myNoctaliaUnwrapped = inputs.wrapper-modules.wrappers.noctalia-shell.wrap { inherit pkgs; runtimePkgs = [ pkgs.qt6.qtwebsockets ]; # settings = # (builtins.fromJSON # (builtins.readFile ./noctalia.json)).settings; }; in { packages.myNoctalia = myNoctaliaUnwrapped; packages.myNoctaliaNixGL = pkgs.symlinkJoin { name = "my-noctalia-nixgl"; paths = [ myNoctaliaUnwrapped ]; nativeBuildInputs = [ pkgs.makeWrapper ]; meta.mainProgram = "noctalia-shell"; postBuild = '' for exe in "$out"/bin/*; do if [[ -f "$exe" ]]; then base="$(basename "$exe")" mv "$exe" "$out/bin/.''${base}-real" makeWrapper ${lib.getExe nixGLPackage} "$exe" \ --add-flags "$out/bin/.''${base}-real" fi done ''; }; }; }