41 lines
1.6 KiB
Nix
41 lines
1.6 KiB
Nix
{ inputs, self, ... }: {
|
|
flake.nixosModules.gaming = { pkgs, config, lib, ... }: {
|
|
options.features.hardware.steam-controller.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Enable tweaks and configurations that assist when using Valve's Steam Controller";
|
|
};
|
|
|
|
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, ... }: {
|
|
options.features.hardware.steam-controller.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Enable tweaks and configurations that assist when using Valve's Steam Controller";
|
|
};
|
|
|
|
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;
|
|
};
|
|
};
|
|
};
|
|
} |