Main
This commit is contained in:
parent
fc0abdd4bb
commit
aca73cdd0f
73 changed files with 3873 additions and 381 deletions
|
|
@ -1,3 +1,20 @@
|
|||
# Steam (System Module)
|
||||
#
|
||||
# Provides:
|
||||
# - Steam client
|
||||
# - Optional firewall openings for:
|
||||
# * Remote Play
|
||||
# * Source Dedicated Server
|
||||
# * Local Network Game Transfers
|
||||
# - ProtonUp tool for managing Proton versions
|
||||
#
|
||||
# Options:
|
||||
# - enable → Enable Steam system module
|
||||
# - openFirewall.remotePlay → Open firewall for Remote Play
|
||||
# - openFirewall.dedicatedServer → Open firewall for Source Dedicated Server
|
||||
# - openFirewall.localNetworkGameTransfers → Open firewall for LAN transfers
|
||||
#
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
|
|
@ -5,16 +22,25 @@ let
|
|||
in
|
||||
{
|
||||
options.nyx-module.system.steam = {
|
||||
enable = lib.mkEnableOption "Enable steam (system) module";
|
||||
enable = lib.mkEnableOption "Enable Steam (system module)";
|
||||
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.steam;
|
||||
description = "Package to install for steam.";
|
||||
openFirewall = {
|
||||
remotePlay = lib.mkEnableOption "Open firewall for Steam Remote Play";
|
||||
dedicatedServer = lib.mkEnableOption "Open firewall for Source Dedicated Server";
|
||||
localNetworkGameTransfers = lib.mkEnableOption "Open firewall for Steam Local Network Game Transfers";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = cfg.openFirewall.remotePlay;
|
||||
dedicatedServer.openFirewall = cfg.openFirewall.dedicatedServer;
|
||||
localNetworkGameTransfers.openFirewall = cfg.openFirewall.localNetworkGameTransfers;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
protonup
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue