{ inputs, self, ... }: { flake.nixosModules.gaming = { pkgs, config, lib, ... }: { config = lib.mkIf (config.features.hardware.steam-controller.enable) { home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { features.hardware.steam-controller.enable = lib.mkDefault true; }; }; }; flake.homeModules.gaming = { pkgs, config, lib, inputs, ... }: { config = let pkgsCross = import inputs.nixpkgs { localSystem = "x86_64-linux"; hostSystem = "x86_64-linux"; crossSystem = "i686-linux"; }; steam-modified-desktop-file = pkgs.runCommand "modifySteamDesktopFile" {} '' sed 's@Exec=/usr/bin/steam@Exec=env LD_PRELOAD=${pkgsCross.extest}/lib/libextest.so /usr/bin/steam@' ${self}/assets/steam.desktop.example > $out ''; in lib.mkIf (config.features.hardware.steam-controller.enable) { xdg.dataFile."applications/steam.desktop".source = steam-modified-desktop-file; xdg.configFile."autostart/steam.desktop" = { source = steam-modified-desktop-file; force = true; }; }; }; }