diff --git a/local_packages/lsfg-vk-ui/package.nix b/local_packages/lsfg-vk-ui/package.nix new file mode 100644 index 0000000..dc35853 --- /dev/null +++ b/local_packages/lsfg-vk-ui/package.nix @@ -0,0 +1,45 @@ +{ + lib, + fetchFromGitHub, + cmake, + llvmPackages, + qt6, +}: + +llvmPackages.stdenv.mkDerivation (finalAttrs: { + pname = "lsfg-vk-ui"; + version = "2.0.0-dev"; + + src = fetchFromGitHub { + owner = "PancakeTAS"; + repo = "lsfg-vk"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Qb3vufCzNpM1r+vgo8M9nnA7CENgGTithWG0oXqLKbI="; + }; + + nativeBuildInputs = [ + llvmPackages.clang-tools + llvmPackages.libllvm + cmake + qt6.wrapQtAppsHook + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtdeclarative + ]; + + cmakeFlags = [ + "-DLSFGVK_BUILD_VK_LAYER=OFF" + "-DLSFGVK_BUILD_UI=ON" + "-DLSFGVK_INSTALL_XDG_FILES=ON" + "-DLSFGVK_BUILD_CLI=OFF" + ]; + + meta = { + description = "Lossless Scaling Frame Generation on Linux (UI part)"; + homepage = "https://github.com/PancakeTAS/lsfg-vk/"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +}) \ No newline at end of file diff --git a/local_packages/lsfg-vk/package.nix b/local_packages/lsfg-vk/package.nix index cf7a18d..41b1695 100644 --- a/local_packages/lsfg-vk/package.nix +++ b/local_packages/lsfg-vk/package.nix @@ -4,7 +4,6 @@ cmake, vulkan-headers, llvmPackages, - qt6, }: llvmPackages.stdenv.mkDerivation (finalAttrs: { @@ -22,19 +21,16 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: { llvmPackages.clang-tools llvmPackages.libllvm cmake - qt6.wrapQtAppsHook ]; buildInputs = [ vulkan-headers - qt6.qtbase - qt6.qtdeclarative ]; cmakeFlags = [ "-DLSFGVK_LAYER_LIBRARY_PATH=${placeholder "out"}/lib/liblsfg-vk-layer.so" - "-DLSFGVK_BUILD_UI=ON" - "-DLSFGVK_INSTALL_XDG_FILES=ON" + "-DLSFGVK_BUILD_VK_LAYER=ON" + "-DLSFGVK_BUILD_UI=OFF" "-DLSFGVK_BUILD_CLI=OFF" ]; diff --git a/modules/mesa.nix b/modules/mesa.nix index 1e94fd2..0b1e454 100644 --- a/modules/mesa.nix +++ b/modules/mesa.nix @@ -17,6 +17,7 @@ in }; extraPackages = with pkgs; [ (functions.mkUnstable low-latency-layer) # Better alternative (+ vendor-agnostic) to mesa's amd anti-lag 2 + (functions.mkUnstable lsfg-vk) ]; }; } \ No newline at end of file diff --git a/modules/system-packages.nix b/modules/system-packages.nix index 7abb5a1..99bb683 100644 --- a/modules/system-packages.nix +++ b/modules/system-packages.nix @@ -2,13 +2,14 @@ let functions = rec { - mkSpecial = pkg: version: suffix: + mkSpecial = pkg: version: src_name: suffix: pkg.overrideAttrs (old: { inherit version; - src = nixtamal.${pkg.pname + suffix}; + src = nixtamal.${src_name + suffix}; }); - mkSpecialVersion = pkg: version: mkSpecial pkg version ""; - mkUnstable = pkg: mkSpecial pkg "unstable" "-git"; + mkSpecialAuto = pkg: version: suffix: mkSpecial pkg version pkg.pname suffix; + mkSpecialVersion = pkg: version: mkSpecialAuto pkg version ""; + mkUnstable = pkg: mkSpecialAuto pkg "unstable" "-git"; mkPatched = pkg: newPatches: pkg.overrideAttrs (old: { @@ -43,7 +44,7 @@ in cmake sbctl # For secure boot with Limine jq # I use it somewhere in my nixtamal manifest - (functions.mkUnstable lsfg-vk) # TODO: Split package in 2 so I can put the ui here, and the layer in mesa.nix + (functions.mkSpecial lsfg-vk-ui "unstable" "lsfg-vk" "-git") ]; programs.steam = {