Fix steam container

This commit is contained in:
muon 2024-06-20 23:06:24 +00:00
parent 7418b379a1
commit 29b570a782
3 changed files with 75 additions and 7 deletions

View file

@ -31,6 +31,7 @@ in {
mods.theme.scheme = "woodland"; mods.theme.scheme = "woodland";
mods.theme.wallpaper = ./wallpaper.png; mods.theme.wallpaper = ./wallpaper.png;
mods.openvpn.enable = true; mods.openvpn.enable = true;
mods.containers.steam.enable = true;
services.xserver.windowManager.i3.enable = true; services.xserver.windowManager.i3.enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { { pkgs, lib, config, ... }: {
options.mods.containers = { options.mods.containers = {
enable = lib.mkEnableOption { enable = lib.mkEnableOption {
default = false; default = false;
@ -10,12 +10,16 @@
./steam.nix ./steam.nix
]; ];
config = lib.mkIf config.mods.container.enable { config = lib.mkIf config.mods.containers.enable {
networking.nat = { networking.nat = {
enable = true; enable = true;
internalInterfaces = ["ve-+"]; internalInterfaces = ["ve-+"];
externalInterface = "enp0s31f6"; externalInterface = "enp0s31f6";
}; };
networking.networkmanager.unmanaged = [ "interface-name:ve-*" ]; networking.networkmanager.unmanaged = [ "interface-name:ve-*" ];
environment.systemPackages = with pkgs; [
xorg.xhost
];
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { { pkgs, lib, config, ... }: {
options.mods.containers.steam = { options.mods.containers.steam = {
enable = lib.mkEnableOption { enable = lib.mkEnableOption {
default = false; default = false;
@ -6,14 +6,42 @@
}; };
}; };
config = lib.mkIf config.mods.container.steam.enable { config = lib.mkIf config.mods.containers.steam.enable {
mods.containers.enable = true; mods.containers.enable = true;
environment.systemPackages = with pkgs; [
x2goclient
guacamole-client
remmina
];
containers.steam = { containers.steam = {
privateNetwork = true; privateNetwork = true;
hostAddress = "192.168.1.107"; hostAddress = "192.168.100.10";
localAddress = "192.168.1.57"; localAddress = "192.168.100.11";
bindMounts = {
"/home/steam/.steam/steam/steamapps/common/SMITE" = {
hostPath = "/mnt/bulk/SteamLibrary/steamapps/common/SMITE";
isReadOnly = true;
};
"/home/steam/.steam/steam/steamapps/shadercache/386360" = {
hostPath = "/mnt/bulk/SteamLibrary/steamapps/shadercache/386360";
isReadOnly = true;
};
"/home/steam/.steam/steam/steamapps/appmanifest_386360.acf" = {
hostPath = "/mnt/bulk/SteamLibrary/steamapps/appmanifest_386360.acf";
isReadOnly = true;
};
};
config = { config, pkgs, lib, ... }: { config = { config, pkgs, lib, ... }: {
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-run"
];
programs.steam = { programs.steam = {
@ -21,6 +49,41 @@
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
}; };
environment.systemPackages = with pkgs; [
xterm
glxinfo
guacamole-server
wget
bottles
];
services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
services.xrdp.enable = true;
services.xrdp.defaultWindowManager = "startplasma-x11";
services.xrdp.openFirewall = true;
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
services.x2goserver.enable = true;
programs.ssh.forwardX11 = true;
services.openssh = {
enable = true;
settings.X11Forwarding = true;
};
users.users.steam = {
isNormalUser = true;
extraGroups = [ "wheel" ];
initialPassword = "changeme";
};
system.stateVersion = "23.11"; system.stateVersion = "23.11";
}; };
}; };