{ lib, config, ... }: with lib; let cfg = config.modules.software.tools.wine; in { options.modules.software.tools.wine = { enable = mkEnableOption "Enable wine, a compatibility layer to run Windows applications on Linux"; }; config = mkIf cfg.enable { hm.home.packages = with pkgs; [ wineWow64Packages.waylandFull winetricks ]; # enable windows NT sync primitive driver (semaphores, mutexes, etc.) # improves performance on wine 11+ and proton 11+ boot.kernelModules = [ "ntsync" ]; }; }