Support auto-launching Steam and Sunshine

This commit is contained in:
Greg Hellings
2025-11-08 13:59:34 -06:00
parent 7be09a866c
commit 3552aa0890
2 changed files with 68 additions and 22 deletions
+6
View File
@@ -0,0 +1,6 @@
{ pkgs, ... }:
{
xdg.autostart.entries = [
"${pkgs.steam}/share/applications/steam.desktop"
];
}
+62 -22
View File
@@ -23,14 +23,9 @@ in
# Bootloader. # Bootloader.
boot = { boot = {
initrd.kernelModules = [ initrd.kernelModules = [
"vfio_pci" "amdgpu"
"vfio"
"vfio_iommu_type1"
]; ];
kernelParams = [ kernelParams = [
"amd_iommu=on"
"iommu=pt"
("vfio-pci.ids=" + (lib.concatStringsSep "," passthru))
]; ];
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = true;
@@ -39,9 +34,12 @@ in
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
amdgpu_top
clinfo
curl curl
gawk gawk
git git
glxinfo
unzip unzip
wget wget
]; ];
@@ -89,6 +87,11 @@ in
}; };
}; };
hardware.graphics = {
enable = true;
enable32Bit = true;
};
networking = { networking = {
hostName = "jeremiah"; # Define your hostname. hostName = "jeremiah"; # Define your hostname.
useDHCP = false; useDHCP = false;
@@ -99,6 +102,7 @@ in
address = " 10.42.1.2"; address = " 10.42.1.2";
interface = "br0"; interface = "br0";
}; };
firewall.allowedTCPPorts = [ 3389 ];
interfaces = { interfaces = {
br0 = { br0 = {
ipv4.addresses = [ ipv4.addresses = [
@@ -112,32 +116,68 @@ in
nameservers = [ "10.42.1.5" ]; nameservers = [ "10.42.1.5" ];
}; };
programs.steam = {
enable = true;
protontricks.enable = true;
};
##################################################################################### #####################################################################################
#################### Virtualbox Runner ############################################## #################### Virtualbox Runner ##############################################
##################################################################################### #####################################################################################
age.secrets.runner-reg.file = ../../secrets/gitlab/nixos-qemu-shell.age; age.secrets.runner-reg.file = ../../secrets/gitlab/nixos-qemu-shell.age;
services = { services = {
displayManager = {
defaultSession = "xfce";
autoLogin = {
enable = true;
user = "greg";
};
};
proxmox-ve = { proxmox-ve = {
enable = true; enable = true;
ipAddress = (builtins.elemAt config.networking.interfaces.br0.ipv4.addresses 0).address; ipAddress = (builtins.elemAt config.networking.interfaces.br0.ipv4.addresses 0).address;
}; };
}; sunshine = {
enable = true;
systemd.services."gitlab-runner" = { autoStart = true;
after = [ #capSysAdmin = true;
"network.target" openFirewall = true;
"network-online.target" };
"tailscaled.service" xserver = {
]; enable = true;
requires = [ desktopManager = {
"network-online.target" xterm.enable = true;
"tailscaled.service" xfce.enable = true;
]; };
serviceConfig = {
DevicePolicy = lib.mkForce "auto";
User = "root";
DynamicUser = lib.mkForce false;
}; };
}; };
systemd = {
services = {
"gitlab-runner" = {
after = [
"network.target"
"network-online.target"
"tailscaled.service"
];
requires = [
"network-online.target"
"tailscaled.service"
];
serviceConfig = {
DevicePolicy = lib.mkForce "auto";
User = "root";
DynamicUser = lib.mkForce false;
};
};
};
targets = {
sleep.enable = false;
suspend.enable = false;
hibernate.enable = false;
hybrid-sleep.enable = false;
};
};
users.extraGroups.video.members = [ "greg" ];
} }