{ config, pkgs, lib, ... }: { imports = [ ./hardware-configuration.nix ]; de.enable = true; # Login DE Option: Steam programs.steam.gamescopeSession.enable = true; # programs.gamescope.capSysNice = true; # Login DE Option: Kodi services.xserver.desktopManager.kodi.enable = true; services.xserver.desktopManager.kodi.package = ( pkgs.kodi.passthru.withPackages (kodiPackages: with kodiPackages; [ jellyfin joystick ]) ); services.mount-samba.enable = true; # Login DE Option: RetroArch services.xserver.desktopManager.retroarch.enable = true; services.xserver.desktopManager.retroarch.package = pkgs.retroarchFull; # wireless xbox controller support hardware.xone.enable = true; boot.kernelModules = [ "xone-wired" "xone-dongle" ]; hardware.enableRedistributableFirmware = true; hardware.enableAllFirmware = true; hardware.opengl.extraPackages = with pkgs; [ rocm-opencl-icd rocm-opencl-runtime ]; systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.hip}" ]; systemd.services.barrier-sddm = { description = "Barrier mouse/keyboard share"; requires = [ "display-manager.service" ]; after = [ "network.target" "display-manager.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { Restart = "always"; RestartSec = 10; # todo use user/group }; path = with pkgs; [ barrier doas ]; script = '' # Wait for file to show up. "display-manager.service" finishes a bit too soon while ! [ -e /run/sddm/xauth_* ]; do sleep 1; done; export XAUTHORITY=$(ls /run/sddm/xauth_*) # Disable crypto is fine because tailscale is E2E encrypting better than barrier could anyway barrierc -f --disable-crypto --name zoidberg ray.koi-bebop.ts.net ''; }; users.users.cris = { isNormalUser = true; hashedPassword = "$y$j9T$LMGwHVauFWAcAyWSSmcuS/$BQpDyjDHZZbvj54.ijvNb03tr7IgX9wcjYCuCxjSqf6"; uid = 1001; packages = with pkgs; [ maestral maestral-gui ] ++ config.users.users.googlebot.packages; }; # Dr. John A. Zoidberg users.users.john = { isNormalUser = true; hashedPassword = ""; uid = 1002; }; }