42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
with lib;
|
|
let
|
|
cfg = config.gaming;
|
|
in
|
|
{
|
|
options.gaming = {
|
|
enable = mkEnableOption "Enable gaming stuff";
|
|
|
|
newWine = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "If you want to include wine-staging as new-wine";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
home.packages =
|
|
let
|
|
newwine = (pkgs.wineFull.override { wineBuild = "wineWow"; wineRelease = "staging"; });
|
|
newwinetricks = pkgs.winetricks.override { wine = newwine; };
|
|
|
|
oldwine = pkgs.wineWowPackages.full;
|
|
oldwinetricks = pkgs.winetricks.override { wine = oldwine; };
|
|
in
|
|
with pkgs; [
|
|
oldwine
|
|
oldwinetricks
|
|
] ++ lib.optionals cfg.newWine [
|
|
(
|
|
pkgs.runCommand "new-wine-stuff"
|
|
{ } ''
|
|
mkdir -p $out/bin
|
|
ln -s ${newwine}/bin/wine $out/bin/new-wine
|
|
ln -s ${newwine}/bin/winecfg $out/bin/new-winecfg
|
|
ln -s ${newwinetricks}/bin/winetricks $out/bin/new-winetricks
|
|
''
|
|
)
|
|
];
|
|
};
|
|
}
|