diff --git a/README.md b/README.md index fba34ce..e5218cb 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,10 @@ Nix flake for using [Lossless Scaling's frame generation on Linux](https://githu > In case it is not installed on the default Steam drive, you may want to consider setting the correct path in the lsfg-vk config. ## Installation -### System-wide (NixOS module) +### System-wide (NixOS) This approach will install an implicit layer to ``/etc/vulkan/implicit_layer.d/`` -Add this to your flake inputs, output function and modules list: +Add this to your flake inputs, output function and configuration: ```nix inputs = { ... @@ -21,22 +21,14 @@ outputs = {nixpkgs, lsfg-vk-flake, ...}: { nixosConfigurations.hostname = nixpkgs.lib.nixosSystem { ... - modules = [ - ... - lsfg-vk-flake.nixosModules.default + environment.systemPackages = [ + lsfg-vk-flake.packages.${system}.lsfg-vk + lsfg-vk-flake.packages.${system}.lsfg-vk-ui ]; }; } ``` -And then enable this in your system config: -```nix -services.lsfg-vk = { - enable = true; - ui.enable = true; # installs gui for configuring lsfg-vk -}; -``` - ### User install (manual) 1. Build the library: ```bash @@ -61,10 +53,10 @@ ENABLE_LSFG=1 vkcube To confirm that it is working, look for output like this in the terminal: lsfg-vk(...): ... -You can also enable it per game on Steam by adding this to the launch options: +You can also enable it per game on Steam by adding this to the launch options: ``` ENABLE_LSFG=1 %COMMAND% ``` >[!NOTE] -> If the environment variable is set but the program doesn't show any lsfg-vk output, you may need to add the application to your lsfg-vk configuration file at `~/.config/lsfg-vk/config.toml`. Read more about it in the [Wiki](https://github.com/PancakeTAS/lsfg-vk/wiki/Configuring-lsfg-vk) \ No newline at end of file +> If the environment variable is set but the program doesn't show any lsfg-vk output, you may need to add the application to your lsfg-vk configuration file at `~/.config/lsfg-vk/config.toml`. Read more about it in the [Wiki](https://github.com/PancakeTAS/lsfg-vk/wiki/Configuring-lsfg-vk) diff --git a/flake.lock b/flake.lock index 8a9da88..483d30d 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1753694789, - "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", + "lastModified": 1754498491, + "narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", + "rev": "c2ae88e026f9525daf89587f3cbee584b92b6134", "type": "github" }, "original": { diff --git a/module.nix b/module.nix index f2fcaa6..bb7e4a4 100644 --- a/module.nix +++ b/module.nix @@ -1,69 +1,26 @@ { - config, lib, - pkgs, ... }: let - cfg = config.services.lsfg-vk; - lsfg-vk = pkgs.callPackage ./lsfg-vk.nix { }; - lsfg-vk-ui = pkgs.callPackage ./lsfg-vk-ui.nix { }; + inherit (lib.modules) mkRemovedOptionModule; in { - options = { - services.lsfg-vk = { - enable = lib.mkEnableOption "Lossless Scaling Frame Generation Vulkan layer"; + imports = [ + (mkRemovedOptionModule + [ + "services" + "lsfg-vk" + ] + '' + The lsfg-vk-flake NixOS module has been removed as adding packages to the environment is already sufficient. - ui.enable = lib.mkEnableOption "Enables a GUI for configuring lsfg-vk"; - - 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 - ''; - }; - - configFile = lib.mkOption { - type = with lib.types; nullOr str; - default = null; - example = "/home/user/.config/lsfg-vk/conf.toml"; - description = '' - Sets the LSFG_CONFIG environment variable. - Required if the lsfg-vk configuration file isn't stored at the standard location - ''; - }; - }; - }; - - config = lib.mkIf cfg.enable ( - lib.mkMerge [ - { - environment.systemPackages = [ cfg.package ]; - - # Installs the Vulkan implicit layer system-wide - environment.etc."vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json".source = - "${cfg.package}/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json"; - } - (lib.mkIf cfg.ui.enable { - environment.systemPackages = [ lsfg-vk-ui ]; - }) - (lib.mkIf (cfg.losslessDLLFile != null) { - environment.sessionVariables.LSFG_DLL_PATH = - lib.warn "losslessDLLFile is deprecated and will only be used by lsfg-vk if LSFG_LEGACY is set." - cfg.losslessDLLFile; - }) - (lib.mkIf (cfg.configFile != null) { - environment.sessionVariables.LSFG_CONFIG = cfg.configFile; - }) - ] - ); + Simply add lsfg-vk & lsfg-vk-ui to your environment.systemPackages: + environment.systemPackages = [ + pkgs.lsfg-vk + pkgs.lsfg-vk-ui + ]; + '' + ) + ]; }