Files
lavitz/modules/services.nix
T
2026-04-03 21:50:42 -06:00

77 lines
1.7 KiB
Nix

{ pkgs, ... }:
{
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
# Authentication
PermitRootLogin = "no";
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
PermitEmptyPasswords = false;
# Security hardening
X11Forwarding = false;
AllowTcpForwarding = false;
AllowAgentForwarding = false;
AllowStreamLocalForwarding = false;
# Session settings
ClientAliveInterval = 300;
ClientAliveCountMax = 2;
MaxAuthTries = 3;
MaxSessions = 2;
LoginGraceTime = 30;
};
};
# Tailscale
services.tailscale.enable = true;
# Fwupd
services.fwupd.enable = true;
# UDEV
services.udev.packages = [
pkgs.qmk-udev-rules
pkgs.game-devices-udev-rules
pkgs.keychron-udev-rules
];
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="3434", MODE="0660", GROUP="plugdev"
ACTION=="add", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", MODE="0660", GROUP="plugdev"
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0660", GROUP="plugdev"
ACTION=="add", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0b05", MODE="0660", GROUP="plugdev"
'';
# Sunshine
services.sunshine = {
enable = true;
autoStart = true;
capSysAdmin = true;
openFirewall = true;
applications = {
apps = [
{
name = "Steam Big Picture";
cmd = "${pkgs.steam}/bin/steam -gamepadui";
}
{
name = "Desktop";
cmd = "${pkgs.coreutils}/bin/true";
}
];
};
};
virtualisation.docker = {
enable = true;
};
services.avahi.publish.enable = true;
services.avahi.publish.userServices = true;
}