From 3552aa0890babcbadf64627d9a02cf6df7aaf487 Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Sat, 8 Nov 2025 13:59:34 -0600 Subject: [PATCH] Support auto-launching Steam and Sunshine --- home/hosts/jeremiah/default.nix | 6 +++ hosts/jeremiah/default.nix | 84 ++++++++++++++++++++++++--------- 2 files changed, 68 insertions(+), 22 deletions(-) create mode 100644 home/hosts/jeremiah/default.nix diff --git a/home/hosts/jeremiah/default.nix b/home/hosts/jeremiah/default.nix new file mode 100644 index 0000000..8a3d16f --- /dev/null +++ b/home/hosts/jeremiah/default.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: +{ + xdg.autostart.entries = [ + "${pkgs.steam}/share/applications/steam.desktop" + ]; +} diff --git a/hosts/jeremiah/default.nix b/hosts/jeremiah/default.nix index 495dfca..5a99e68 100644 --- a/hosts/jeremiah/default.nix +++ b/hosts/jeremiah/default.nix @@ -23,14 +23,9 @@ in # Bootloader. boot = { initrd.kernelModules = [ - "vfio_pci" - "vfio" - "vfio_iommu_type1" + "amdgpu" ]; kernelParams = [ - "amd_iommu=on" - "iommu=pt" - ("vfio-pci.ids=" + (lib.concatStringsSep "," passthru)) ]; loader = { systemd-boot.enable = true; @@ -39,9 +34,12 @@ in }; environment.systemPackages = with pkgs; [ + amdgpu_top + clinfo curl gawk git + glxinfo unzip wget ]; @@ -89,6 +87,11 @@ in }; }; + hardware.graphics = { + enable = true; + enable32Bit = true; + }; + networking = { hostName = "jeremiah"; # Define your hostname. useDHCP = false; @@ -99,6 +102,7 @@ in address = " 10.42.1.2"; interface = "br0"; }; + firewall.allowedTCPPorts = [ 3389 ]; interfaces = { br0 = { ipv4.addresses = [ @@ -112,32 +116,68 @@ in nameservers = [ "10.42.1.5" ]; }; + programs.steam = { + enable = true; + protontricks.enable = true; + }; ##################################################################################### #################### Virtualbox Runner ############################################## ##################################################################################### age.secrets.runner-reg.file = ../../secrets/gitlab/nixos-qemu-shell.age; services = { + displayManager = { + defaultSession = "xfce"; + autoLogin = { + enable = true; + user = "greg"; + }; + }; proxmox-ve = { enable = true; ipAddress = (builtins.elemAt config.networking.interfaces.br0.ipv4.addresses 0).address; }; - }; - - 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; + sunshine = { + enable = true; + autoStart = true; + #capSysAdmin = true; + openFirewall = true; + }; + xserver = { + enable = true; + desktopManager = { + xterm.enable = true; + xfce.enable = true; + }; }; }; + + 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" ]; }