summaryrefslogtreecommitdiff
path: root/modules/nixos/games/steam-run.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/games/steam-run.nix')
-rw-r--r--modules/nixos/games/steam-run.nix78
1 files changed, 46 insertions, 32 deletions
diff --git a/modules/nixos/games/steam-run.nix b/modules/nixos/games/steam-run.nix
index fc51c85..cfee8ae 100644
--- a/modules/nixos/games/steam-run.nix
+++ b/modules/nixos/games/steam-run.nix
@@ -4,9 +4,11 @@
pkgs,
...
}:
-with lib; let
+with lib;
+let
cfg = config.nixfiles.modules.games.steam-run;
-in {
+in
+{
options.nixfiles.modules.games.steam-run = {
enable = mkEnableOption "native Steam runtime";
@@ -19,7 +21,10 @@ in {
config = mkIf cfg.enable {
nixfiles.modules = {
- common.nix.allowedUnfreePackages = ["steam" "steam-run"];
+ common.nix.allowedUnfreePackages = [
+ "steam"
+ "steam-run"
+ ];
games = {
enable32BitSupport = true;
@@ -30,46 +35,55 @@ in {
hm.home.packages = with pkgs; [
(steam.override {
- extraLibraries = _:
+ extraLibraries =
+ _:
with cfg.quirks;
- optional blackIsleStudios openssl_1_0_0
- ++ optionals cryptOfTheNecrodancer [
- (import (builtins.fetchTarball {
- url = "https://github.com/NixOS/nixpkgs/archive/d1c3fea7ecbed758168787fe4e4a3157e52bc808.tar.gz";
- sha256 = "0ykm15a690v8lcqf2j899za3j6hak1rm3xixdxsx33nz7n3swsyy";
- }) {inherit (config.nixpkgs) config localSystem;})
- .flac
- ]
- ++ optionals mountAndBladeWarband [
- (glew.overrideAttrs (_: super: let
+ optional blackIsleStudios openssl_1_0_0
+ ++ optionals cryptOfTheNecrodancer [
+ (import (builtins.fetchTarball {
+ url = "https://github.com/NixOS/nixpkgs/archive/d1c3fea7ecbed758168787fe4e4a3157e52bc808.tar.gz";
+ sha256 = "0ykm15a690v8lcqf2j899za3j6hak1rm3xixdxsx33nz7n3swsyy";
+ }) { inherit (config.nixpkgs) config localSystem; }).flac
+ ]
+ ++ optionals mountAndBladeWarband [
+ (glew.overrideAttrs (
+ _: super:
+ let
opname = super.pname;
- in rec {
+ in
+ rec {
pname = "${opname}-steam-run-fix";
inherit (super) version;
src = fetchurl {
url = "mirror://sourceforge/${opname}/${opname}-${version}.tgz";
hash = "sha256-BN6R5+Z2MDm8EZQAlc2cf4gLq6ghlqd2X3J6wFqZPJU=";
};
- }))
- (fmodex.overrideAttrs (_: super: let
+ }
+ ))
+ (fmodex.overrideAttrs (
+ _: super:
+ let
opname = super.pname;
- in rec {
+ in
+ rec {
pname = "${opname}-steam-run-fix";
inherit (super) version;
- installPhase = let
- libPath = makeLibraryPath [
- alsa-lib
- libpulseaudio
- stdenv.cc.cc
- ];
- in ''
- install -Dm755 api/lib/libfmodex64-${version}.so $out/lib/libfmodex64.so
- patchelf --set-rpath ${libPath} $out/lib/libfmodex64.so
- '';
- }))
- ];
- })
- .run
+ installPhase =
+ let
+ libPath = makeLibraryPath [
+ alsa-lib
+ libpulseaudio
+ stdenv.cc.cc
+ ];
+ in
+ ''
+ install -Dm755 api/lib/libfmodex64-${version}.so $out/lib/libfmodex64.so
+ patchelf --set-rpath ${libPath} $out/lib/libfmodex64.so
+ '';
+ }
+ ))
+ ];
+ }).run
];
};
}