home: add lsfg-vk module

This commit is contained in:
Leonardo Eugênio 2025-07-14 19:38:20 -03:00
parent ef01024a9f
commit 3156f59c26
No known key found for this signature in database
GPG key ID: 2F8F21CE8721456B
8 changed files with 120 additions and 12 deletions

1
.gitattributes vendored
View file

@ -1 +1,2 @@
flake.lock binary
*.gpg binary

View file

@ -5,21 +5,21 @@ keys:
- &phantom-ssh age1m4mqcd2kmuhfr8a22rvh02c68jkakhdfmuqgtusuv0czk4jvna7sz79p3y
creation_rules:
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
- path_regex: secrets/[^/]+\.(yaml|json|env|ini|gpg)$
key_groups:
- pgp:
- *lelgenio-gpg
age:
- *lelgenio-ssh
- *monolith-ssh
- path_regex: secrets/monolith/[^/]+\.(yaml|json|env|ini)$
- path_regex: secrets/monolith/[^/]+\.(yaml|json|env|ini|gpg)$
key_groups:
- pgp:
- *lelgenio-gpg
age:
- *lelgenio-ssh
- *monolith-ssh
- path_regex: secrets/phantom/[^/]+\.(yaml|json|env|ini)$
- path_regex: secrets/phantom/[^/]+\.(yaml|json|env|ini|gpg)$
key_groups:
- pgp:
- *lelgenio-gpg

53
flake.lock generated
View file

@ -518,11 +518,29 @@
"type": "github"
}
},
"lsfg-vk-flake": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1752427857,
"narHash": "sha256-gF09uaUCp/uykgMfk3HE3fWxwm5sl5bTnJerKfKfX5w=",
"owner": "pabloaul",
"repo": "lsfg-vk-flake",
"rev": "f24d8fe3714cabc69073568efece5e9e5c153fe7",
"type": "github"
},
"original": {
"owner": "pabloaul",
"repo": "lsfg-vk-flake",
"type": "github"
}
},
"made-you-look": {
"inputs": {
"crane": "crane_2",
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1728159958,
@ -677,6 +695,22 @@
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1751984180,
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1719010183,
"narHash": "sha256-8HMWaqpyjbVeEsmy/A2H6VFtW/Wr71vkPLnpTiAXu+8=",
@ -692,7 +726,7 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_6": {
"locked": {
"lastModified": 1751582995,
"narHash": "sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA=",
@ -707,7 +741,7 @@
"type": "indirect"
}
},
"nixpkgs_6": {
"nixpkgs_7": {
"locked": {
"lastModified": 1747958103,
"narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=",
@ -723,7 +757,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_8": {
"locked": {
"lastModified": 1719010183,
"narHash": "sha256-8HMWaqpyjbVeEsmy/A2H6VFtW/Wr71vkPLnpTiAXu+8=",
@ -739,7 +773,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1714091391,
"narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=",
@ -798,10 +832,11 @@
"dzgui-nix": "dzgui-nix",
"hello-fonts": "hello-fonts",
"home-manager": "home-manager",
"lsfg-vk-flake": "lsfg-vk-flake",
"made-you-look": "made-you-look",
"nix-index-database": "nix-index-database",
"nixos-mailserver": "nixos-mailserver",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_6",
"nixpkgs-pre-broken-waybar": "nixpkgs-pre-broken-waybar",
"nixpkgs-unstable": "nixpkgs-unstable",
"plymouth-themes": "plymouth-themes",
@ -1024,7 +1059,7 @@
},
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_6"
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1750931469,
@ -1059,7 +1094,7 @@
"inputs": {
"crane": "crane_3",
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1719076817,
@ -1078,7 +1113,7 @@
"wl-crosshair": {
"inputs": {
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1715216838,

View file

@ -46,6 +46,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
lsfg-vk-flake = {
url = "github:pabloaul/lsfg-vk-flake";
flake = false;
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
@ -125,6 +130,7 @@
my = config.my;
imports = [
./user/home.nix
inputs.sops-nix.homeManagerModules.sops
];
};
home-manager.backupFileExtension = "bkp";

View file

@ -35,6 +35,7 @@ rec {
final: prev:
packages
// {
lsfg-vk = final.callPackage inputs.lsfg-vk-flake { };
dhist = inputs.dhist.packages.${prev.system}.dhist;
demoji = inputs.demoji.packages.${prev.system}.default;
tlauncher = inputs.tlauncher.packages.${prev.system}.tlauncher;

26
secrets/lsfg.dll.gpg Executable file

File diff suppressed because one or more lines are too long

View file

@ -24,6 +24,7 @@
./mpv.nix
./mangohud.nix
./gaming.nix
./lsfg-vk
./pipewire.nix
./mimeapps.nix
./desktop-entries.nix
@ -148,6 +149,8 @@
enable = true;
};
sops.age.keyFile = config.home.homeDirectory + "/.ssh/id_ed25519";
xdg.defaultApplications = {
enable = true;
text-editor = lib.mkDefault "kak.desktop";

36
user/lsfg-vk/default.nix Normal file
View file

@ -0,0 +1,36 @@
{ pkgs, config, ... }:
let
LosslessDllPath = config.home.homeDirectory + "/.local/lib/Lossless.dll";
in
{
home.file = {
".local/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json".source =
"${pkgs.lsfg-vk}/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json";
".local/lib/liblsfg-vk.so".source = "${pkgs.lsfg-vk}/lib/liblsfg-vk.so";
};
home.sessionVariables = {
# ENABLE_LSFG = 1; # Don't enable session wide, to avoid bugs
LSFG_MULTIPLIER = 2;
LSFG_DLL_PATH = LosslessDllPath;
};
# Put the dll in a reachable location for steam games
# Secrets normally are a symlink to /run/user/1000/secrets.d/
# Every time sops-nix.service runs, we copy the dll
systemd.user.services.copy-lsfg-dll = {
Service = {
ExecStart = pkgs.writeShellScript "copy-lsfg-dll" ''
cp -fv "${config.sops.secrets."lsfg.dll".path}" "${LosslessDllPath}"
'';
Type = "oneshot";
};
Unit.After = [ "sops-nix.service" ];
Install.WantedBy = [ "sops-nix.service" ];
};
sops.secrets."lsfg.dll" = {
sopsFile = ../../secrets/lsfg.dll.gpg;
format = "binary";
};
}