{ config, lib, pkgs, modulesPath, home-manager, inputs, ... }: { networking = { hostName = "marty-pc"; interfaces = { enp42s0 = { wakeOnLan = { enable = true; policy = [ "magic" ]; }; }; }; }; home-manager = { extraSpecialArgs = { inherit inputs; }; useGlobalPkgs = true; useUserPackages = true; users = { marty = import ./home.nix; }; }; programs.steam = { enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; localNetworkGameTransfers.openFirewall = true; gamescopeSession.enable = true; protontricks.enable = true; }; services.flatpak.enable = true; virtualisation.docker.enable = true; imports = [ ./hardware.nix ]; security.polkit = { enable = true; extraConfig = '' polkit.addRule(function(action, subject) { if ( subject.isInGroup("users") && ( action.id == "org.freedesktop.login1.suspend" ) ) { return polkit.Result.YES; } }); ''; }; environment.systemPackages = with pkgs; [ qmk qmk-udev-rules qmk_hid via vial ]; services.udev = { packages = with pkgs; [ qmk qmk-udev-rules qmk_hid via vial ]; }; }