Files
nix-flake/modules/features/hardware/steam-controller.nix
T
greyweather 81e85743de
Build docs with nix and Material for mkDocs / build-docs (push) Successful in 1m33s
move options to separate modules, set up mkDocs generation
2026-09-01 03:08:10 +01:00

29 lines
1.1 KiB
Nix

{ 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;
};
};
};
}