|
|
|
|
@@ -2,15 +2,12 @@
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
aagl,
|
|
|
|
|
vintage-story,
|
|
|
|
|
vintage-story ? null,
|
|
|
|
|
...
|
|
|
|
|
}: let
|
|
|
|
|
} @ args: let
|
|
|
|
|
cfg = config.gaming;
|
|
|
|
|
aagl = args.aagl or null;
|
|
|
|
|
in {
|
|
|
|
|
imports = [
|
|
|
|
|
aagl.nixosModules.default
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
options.gaming = {
|
|
|
|
|
steam = {
|
|
|
|
|
@@ -153,7 +150,9 @@ in {
|
|
|
|
|
|
|
|
|
|
config = let
|
|
|
|
|
agl = cfg.aagl;
|
|
|
|
|
in {
|
|
|
|
|
hasAagl = aagl != null;
|
|
|
|
|
in lib.mkMerge [
|
|
|
|
|
{
|
|
|
|
|
programs.steam = lib.mkIf cfg.steam.enable {
|
|
|
|
|
enable = true;
|
|
|
|
|
remotePlay.openFirewall = cfg.steam.firewall.remotePlay;
|
|
|
|
|
@@ -182,6 +181,28 @@ in {
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
environment.systemPackages =
|
|
|
|
|
(lib.optionals cfg.lutris.enable (
|
|
|
|
|
[cfg.lutris.package] ++
|
|
|
|
|
(lib.optionals cfg.lutris.wine.enable [
|
|
|
|
|
cfg.lutris.wine.package
|
|
|
|
|
pkgs.winetricks
|
|
|
|
|
]) ++
|
|
|
|
|
(lib.optionals cfg.lutris.compatibility.protonSupport [
|
|
|
|
|
pkgs.protonup-ng
|
|
|
|
|
pkgs.protonup-qt
|
|
|
|
|
]) ++
|
|
|
|
|
cfg.lutris.compatibility.extraTools ++
|
|
|
|
|
cfg.lutris.extraPackages
|
|
|
|
|
)) ++
|
|
|
|
|
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
|
|
|
|
|
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++
|
|
|
|
|
(lib.optionals (cfg.vintage-story.enable && vintage-story != null) [vintage-story.packages.${pkgs.system}.default]) ++
|
|
|
|
|
(lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkbasalt-cli]) ++
|
|
|
|
|
(lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++
|
|
|
|
|
(lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]);
|
|
|
|
|
}
|
|
|
|
|
(lib.optionalAttrs hasAagl {
|
|
|
|
|
programs.anime-game-launcher = lib.mkIf agl.anime-game-launcher.enable {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
|
|
|
|
@@ -202,35 +223,12 @@ in {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
environment.systemPackages =
|
|
|
|
|
(lib.optionals cfg.lutris.enable (
|
|
|
|
|
[cfg.lutris.package] ++
|
|
|
|
|
(lib.optionals cfg.lutris.wine.enable [
|
|
|
|
|
cfg.lutris.wine.package
|
|
|
|
|
pkgs.winetricks
|
|
|
|
|
]) ++
|
|
|
|
|
(lib.optionals cfg.lutris.compatibility.protonSupport [
|
|
|
|
|
pkgs.protonup-ng
|
|
|
|
|
pkgs.protonup-qt
|
|
|
|
|
]) ++
|
|
|
|
|
cfg.lutris.compatibility.extraTools ++
|
|
|
|
|
cfg.lutris.extraPackages
|
|
|
|
|
)) ++
|
|
|
|
|
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
|
|
|
|
|
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++
|
|
|
|
|
(lib.optionals cfg.vintage-story.enable [vintage-story.packages.${pkgs.system}.default]) ++
|
|
|
|
|
(lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkbasalt-cli]) ++
|
|
|
|
|
(lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++
|
|
|
|
|
(lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]);
|
|
|
|
|
|
|
|
|
|
nix.settings = let
|
|
|
|
|
inherit agl;
|
|
|
|
|
in (lib.mkIf
|
|
|
|
|
(agl.anime-game-launcher.enable || agl.honkers-railway-laucher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable)
|
|
|
|
|
nix.settings = lib.mkIf
|
|
|
|
|
(agl.anime-game-launcher.enable || agl.honkers-railway-launcher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable)
|
|
|
|
|
{
|
|
|
|
|
substituters = [ "https://ezkea.cachix.org" ];
|
|
|
|
|
trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
})
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|