{ config, pkgs, lib, ... }: { imports = [ ./hardware-configuration.nix ]; # 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; # ROCm hardware.graphics.extraPackages = with pkgs; [ rocmPackages.clr.icd rocmPackages.clr ]; systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ]; # System wide barrier instance # 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/* ]; do sleep 1; done; # export XAUTHORITY=$(ls /run/sddm/*) # # 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 # ''; # }; # Login into X11 plasma so barrier works well services.displayManager.defaultSession = "plasma"; 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; inherit (config.users.users.googlebot) hashedPassword packages; uid = 1002; }; # Auto login into Plasma in john zoidberg account services.displayManager.sddm.settings = { Autologin = { Session = "plasma"; User = "john"; }; }; environment.systemPackages = with pkgs; [ jellyfin-media-player config.services.xserver.desktopManager.kodi.package spotify retroarchFull ]; # Command and Conquer Ports networking.firewall.allowedUDPPorts = [ 4321 27900 ]; networking.firewall.allowedTCPPorts = [ 6667 28910 29900 29920 ]; nixpkgs.config.rocmSupport = true; services.ollama = { enable = true; acceleration = "rocm"; }; }