Compare commits
3 Commits
67fda15ca9
...
c452ebff3c
| Author | SHA1 | Date | |
|---|---|---|---|
| c452ebff3c | |||
| a1e71488d8 | |||
| 45c8f7ec27 |
@@ -2,12 +2,15 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
vintage-story ? null,
|
||||
aagl,
|
||||
vintage-story,
|
||||
...
|
||||
} @ args: let
|
||||
}: let
|
||||
cfg = config.gaming;
|
||||
aagl = args.aagl or null;
|
||||
in {
|
||||
imports = [
|
||||
aagl.nixosModules.default
|
||||
];
|
||||
|
||||
options.gaming = {
|
||||
steam = {
|
||||
@@ -150,85 +153,84 @@ in {
|
||||
|
||||
config = let
|
||||
agl = cfg.aagl;
|
||||
hasAagl = aagl != null;
|
||||
in lib.mkMerge [
|
||||
{
|
||||
programs.steam = lib.mkIf cfg.steam.enable {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = cfg.steam.firewall.remotePlay;
|
||||
localNetworkGameTransfers.openFirewall = cfg.steam.firewall.localNetworkGameTransfers;
|
||||
};
|
||||
in {
|
||||
programs.steam = lib.mkIf cfg.steam.enable {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = cfg.steam.firewall.remotePlay;
|
||||
localNetworkGameTransfers.openFirewall = cfg.steam.firewall.localNetworkGameTransfers;
|
||||
};
|
||||
|
||||
programs.gamemode = lib.mkIf cfg.gamemode.enable {
|
||||
enable = true;
|
||||
settings = cfg.gamemode.config;
|
||||
};
|
||||
programs.gamemode = lib.mkIf cfg.gamemode.enable {
|
||||
enable = true;
|
||||
settings = cfg.gamemode.config;
|
||||
};
|
||||
|
||||
programs.gamescope = lib.mkIf cfg.gamescope.enable {
|
||||
enable = true;
|
||||
programs.gamescope = lib.mkIf cfg.gamescope.enable {
|
||||
enable = true;
|
||||
|
||||
# Apply custom resolution if specified
|
||||
args =
|
||||
lib.optional (cfg.gamescope.settings.resolution != null) [
|
||||
"-w"
|
||||
(toString cfg.gamescope.settings.resolution.width)
|
||||
"-h"
|
||||
(toString cfg.gamescope.settings.resolution.height)
|
||||
]
|
||||
++ lib.optional (cfg.gamescope.settings.refreshRate != null) [
|
||||
"-r"
|
||||
(toString cfg.gamescope.settings.refreshRate)
|
||||
];
|
||||
};
|
||||
# Apply custom resolution if specified
|
||||
args =
|
||||
lib.optional (cfg.gamescope.settings.resolution != null) [
|
||||
"-w"
|
||||
(toString cfg.gamescope.settings.resolution.width)
|
||||
"-h"
|
||||
(toString cfg.gamescope.settings.resolution.height)
|
||||
]
|
||||
++ lib.optional (cfg.gamescope.settings.refreshRate != null) [
|
||||
"-r"
|
||||
(toString cfg.gamescope.settings.refreshRate)
|
||||
];
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
programs.anime-game-launcher = lib.mkIf agl.anime-game-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.honkers-railway-launcher = lib.mkIf agl.honkers-railway-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
programs.honkers-railway-launcher = lib.mkIf agl.honkers-railway-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.honkers-launcher = lib.mkIf agl.honkers-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
programs.honkers-launcher = lib.mkIf agl.honkers-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.wavey-launcher = lib.mkIf agl.wavey-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
programs.wavey-launcher = lib.mkIf agl.wavey-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.sleepy-launcher = lib.mkIf agl.sleepy-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
programs.sleepy-launcher = lib.mkIf agl.sleepy-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
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=" ];
|
||||
};
|
||||
})
|
||||
];
|
||||
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)
|
||||
{
|
||||
substituters = [ "https://ezkea.cachix.org" ];
|
||||
trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ in {
|
||||
(import ../../apps/flatpak.nix {
|
||||
inherit lib pkgs flatpakPackages userName aagl;
|
||||
})
|
||||
aagl.nixosModules.default
|
||||
../../apps/gaming.nix
|
||||
../../apps/appimage.nix
|
||||
../../graphics
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
pkgs,
|
||||
userName,
|
||||
vintage-story,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../apps/gaming.nix
|
||||
../../pwrMgmt
|
||||
../../networking/core.nix
|
||||
../../virtualization/podman.nix
|
||||
@@ -46,10 +46,6 @@
|
||||
powertop.enable = false;
|
||||
};
|
||||
|
||||
gaming = {
|
||||
vintage-story.enable = true;
|
||||
};
|
||||
|
||||
network = {
|
||||
firewall = {
|
||||
enable = true;
|
||||
@@ -63,6 +59,10 @@
|
||||
networkManager.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
vintage-story.packages.${pkgs.system}.default
|
||||
];
|
||||
|
||||
# Podman module (see ../../virtualization/podman.nix)
|
||||
# podman = {
|
||||
# enable = true;
|
||||
|
||||
@@ -1,32 +1,3 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/0a885c0e-cf31-43b7-9a91-6f9624758102";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/C7B5-89D4";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/860c75ce-3afe-47cf-90d8-7612ab543a1e"; }
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
{ ... }: {
|
||||
# TODO: needs to filled out later
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user