nix-dotfiles/instances/thinkstation/configuration.nix
2025-06-03 16:07:10 +02:00

119 lines
3 KiB
Nix

{ pkgs, ... }: {
boot = {
kernelPackages = pkgs.linuxPackages_latest;
# kernelParams = [ ];
initrd.checkJournalingFS = true; # Use same ACPI identifier as Dell Ubuntu
loader = {
systemd-boot = { enable = true; editor = false; };
efi.canTouchEfiVariables = true;
};
};
console = { font = "Lat2-Terminus16"; keyMap = "it"; };
i18n.defaultLocale = "it_IT.UTF-8";
hardware = {
xpadneo.enable = true;
enableAllFirmware = true;
enableRedistributableFirmware = true;
bluetooth = { enable = true; package = pkgs.bluez-experimental; };
cpu.intel.updateMicrocode = true;
nvidia = {
open = true;
modesetting.enable = true;
prime = {
offload.enable = false;
sync.enable = true;
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
graphics = {
enable = true;
enable32Bit = true;
extraPackages = [ pkgs.intel-media-driver ];
extraPackages32 = [ pkgs.pkgsi686Linux.intel-media-driver ];
};
nvidia-container-toolkit.enable = true;
};
networking = {
hostName = "thinkstation";
networkmanager.enable = true;
firewall = {
enable = true;
allowPing = true;
allowedTCPPorts = [
# 445 # SAMBA
# 139 # SAMBA
# 5357 # SAMBA-WSDD
# 8123 # HOME ASSISTANT
# 8384 # SYNCTHING
# 8385 # SYNCTHING
];
allowedUDPPorts = [
# 137 # SYNCTHING
# 138 # SYNCTHING
3702 # SAMBA-WSDD
];
extraCommands = "iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns";
};
};
programs = {
gamemode = {
enable = true;
settings = {
custom = {
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
};
};
};
gamescope = { enable = true; capSysNice = true; };
steam.gamescopeSession.enable = true;
};
environment.systemPackages = [ pkgs.gnome-tweaks ];
services = {
avahi = {
enable = true;
openFirewall = true;
nssmdns4 = true;
publish = {
enable = true;
addresses = true;
domain = true;
userServices = true;
workstation = true;
};
extraServiceFiles = {
ssh = "${pkgs.avahi}/etc/avahi/services/ssh.service";
};
};
blueman.enable = true;
xserver = {
desktopManager.plasma5 = { enable = true; useQtScaling = true; };
enable = true;
};
displayManager.sddm.enable = true;
# desktopManager.plasma6 = { enable = true; };
# logind.lidSwitch = "ignore";
pipewire = {
enable = true;
pulse.enable = true;
jack.enable = true;
alsa = { enable = true; support32Bit = true; };
};
smartd.enable = true;
thermald.enable = true;
xserver.videoDrivers = [ "nvidia" ];
};
time.timeZone = "Europe/Rome";
zramSwap.enable = true;
system.stateVersion = "24.11";
}