[gaming] Add an emulation suboption

This commit is contained in:
2025-08-20 19:26:28 -07:00
parent 9d6abce8cc
commit f0bf2f2d8c
5 changed files with 29 additions and 13 deletions

View File

@@ -17,7 +17,7 @@ with lib;
bluetooth.enable = true;
desktop = {
enable = true;
gaming = true;
gaming.enable = true;
kde = true;
sddm = true;
wayland = true;

View File

@@ -15,7 +15,7 @@
desktop = {
enable = true;
wayland = true;
gaming = false;
gaming.enable = false;
kde = true;
sddm = true;
};

View File

@@ -17,11 +17,15 @@ with lib;
bluetooth.enable = true;
desktop = {
enable = true;
gaming = true;
gaming = {
enable = true;
emulation = true;
};
kde = true;
sddm = true;
wayland = true;
};
nfs-mounts.enable = true;
users.enable = true;
virtualisation.enable = true;
};
@@ -82,4 +86,4 @@ with lib;
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "25.11"; # Did you read the comment?
}
}

View File

@@ -9,7 +9,10 @@ with lib;
x11 = mkOption { type = types.bool; default = false; description = "Enable X11 support."; };
wayland = mkOption { type = types.bool; default = false; description = "Enable Wayland support."; };
kde = mkOption { type = types.bool; default = false; description = "Enable KDE."; };
gaming = mkOption { type = types.bool; default = false; description = "Enable gaming support."; };
gaming = {
enable = mkOption { type = types.bool; default = false; description = "Enable gaming support."; };
emulation = mkOption { type = types.bool; default = false; description = "Enable emulation support."; };
};
sddm = mkOption { type = types.bool; default = false; description = "Enable SDDM greeter."; };
};

View File

@@ -6,13 +6,22 @@ let
cfg = config.roles.desktop;
in
{
config = mkIf (cfg.enable && cfg.gaming) {
environment.systemPackages = with pkgs; [
steam
lutris
moonlight
];
config = mkMerge [
(mkIf (cfg.enable && cfg.gaming.enable) {
environment.systemPackages = with pkgs; [
steam
lutris
moonlight
];
# Possibly other gaming specific services or settings
};
# Possibly other gaming specific services or settings
})
(mkIf (cfg.enable && cfg.gaming.emulation) {
environment.systemPackages = with pkgs; [
ryujinx
dolphin-emu
];
})
];
}