diff --git a/default.nix b/default.nix index b8fede1..6fef972 100644 --- a/default.nix +++ b/default.nix @@ -1,15 +1,14 @@ -{ - lib, - fetchFromGitHub, - cmake, - ninja, - vulkan-headers, - vulkan-loader, - llvmPackages, - spirv-headers, -}: +{ lib +, fetchFromGitHub +, cmake +, ninja +, vulkan-headers +, vulkan-loader +, llvmPackages +, spirv-headers +}: let -llvmPackages.stdenv.mkDerivation { +in llvmPackages.stdenv.mkDerivation { pname = "lsfg-vk"; version = "unstable-2025-07-14-83b869b"; @@ -41,7 +40,6 @@ llvmPackages.stdenv.mkDerivation { ]; meta = with lib; { - description = "Vulkan layer for frame generation (Requires Lossless Scaling install)"; homepage = "https://github.com/PancakeTAS/lsfg-vk/"; license = licenses.mit; platforms = platforms.linux; diff --git a/flake.nix b/flake.nix index c9a3db2..58093a4 100644 --- a/flake.nix +++ b/flake.nix @@ -1,13 +1,11 @@ { inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - outputs = { nixpkgs, ... }: - let - system = "x86_64-linux"; - pkgs = import nixpkgs { inherit system; }; - in - { - packages.${system}.default = pkgs.callPackage ./default.nix { }; - nixosModules.default = import ./module.nix; - }; + outputs = { nixpkgs, ... }: let + system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; }; + in { + packages.${system}.default = pkgs.callPackage ./default.nix {}; + nixosModules.default = import ./module.nix; + }; } diff --git a/module.nix b/module.nix index 19d68c9..d91ad93 100644 --- a/module.nix +++ b/module.nix @@ -1,33 +1,18 @@ -{ - config, - lib, - pkgs, - ... -}: +{ config, lib, pkgs, ... }: let cfg = config.services.lsfg-vk; - lsfg-vk = pkgs.callPackage ./default.nix { }; + lsfg-vk = pkgs.callPackage ./default.nix {}; in { options = { services.lsfg-vk = { enable = lib.mkEnableOption "Lossless Scaling Frame Generation Vulkan layer"; - + package = lib.mkOption { type = lib.types.package; description = "The lsfg-vk package to use"; default = lsfg-vk; }; - - losslessDLLFile = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - example = "/home/user/games/Lossless Scaling/Lossless.dll"; - description = '' - Sets the LSFG_DLL_PATH environment variable. - Required if Lossless Scaling isn't installed in a standard location - ''; - }; }; }; @@ -35,9 +20,7 @@ in environment.systemPackages = [ cfg.package ]; # Installs the Vulkan implicit layer system-wide - environment.etc."vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json".source = + environment.etc."vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json".source = "${cfg.package}/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json"; - - environment.sessionVariables.LSFG_DLL_PATH = lib.mkIf (cfg.losslessDLLFile != null) cfg.losslessDLLFile; }; }