Support auto-launching Steam and Sunshine
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
xdg.autostart.entries = [
|
||||||
|
"${pkgs.steam}/share/applications/steam.desktop"
|
||||||
|
];
|
||||||
|
}
|
||||||
+62
-22
@@ -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" ];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user