From 08891bd65cca4487f13a1a9ca4aafe236a7f69b1 Mon Sep 17 00:00:00 2001 From: notgne2 Date: Mon, 4 Oct 2021 12:08:14 -0700 Subject: [PATCH] separate gaming module --- home-manager/modules/default.nix | 4 ++ home-manager/modules/ezpcusr.nix | 108 ++++++++----------------------- home-manager/modules/gaming.nix | 59 +++++++++++++++++ 3 files changed, 90 insertions(+), 81 deletions(-) create mode 100644 home-manager/modules/gaming.nix diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix index e32f512..0de5a52 100644 --- a/home-manager/modules/default.nix +++ b/home-manager/modules/default.nix @@ -6,9 +6,13 @@ inputs: (lib.mkAliasOptionModule [ "ezpcusr" "favColors" ] [ "colors" "favColors" ]) (lib.mkAliasOptionModule [ "ezpcusr" "favFont" ] [ "fonts" "favFont" ]) (lib.mkAliasOptionModule [ "ezpcusr" "waybarCss" ] [ "programs" "waybar" "style" ]) + (lib.mkAliasOptionModule [ "ezpcusr" "gaming" ] [ "gaming" "enable" ]) + (lib.mkAliasOptionModule [ "ezpcusr" "flatSteam" ] [ "gaming" "flatSteam" ]) + (lib.mkAliasOptionModule [ "ezpcusr" "newWine" ] [ "gaming" "newWine" ]) (import ./ezpcusr.nix inputs) (import ./colors.nix inputs) + ./gaming.nix ./fonts.nix ]; } diff --git a/home-manager/modules/ezpcusr.nix b/home-manager/modules/ezpcusr.nix index ae7b805..42e577f 100644 --- a/home-manager/modules/ezpcusr.nix +++ b/home-manager/modules/ezpcusr.nix @@ -94,18 +94,6 @@ in options.ezpcusr = { enable = mkEnableOption "Enable simple PC user config"; - newWine = mkOption { - type = types.bool; - default = false; - description = "If you want to include wine-staging as new-wine"; - }; - - flatSteam = mkOption { - type = types.bool; - default = false; - description = "If you use the flatpak Steam instead of NixOS"; - }; - babybar = mkOption { default = false; description = ''Switch to using the "baby" swaybar rather than waybar''; @@ -184,12 +172,6 @@ in }; }; - gaming = mkOption { - type = types.bool; - default = false; - description = "If this PC is used for gaming"; - }; - bluetooth = mkOption { type = types.bool; default = false; @@ -668,75 +650,39 @@ in fonts.fontconfig.enable = lib.mkDefault true; - home.packages = with pkgs; - let - steam = pkgs.steam.override { withJava = true; }; + home.packages = with pkgs; [ + waybar + wl-clipboard # important actually, for vim and other things + xwayland + libappindicator-gtk3 - steam-run = steam.run; + jq - newwine = (pkgs.wineFull.override { wineBuild = "wineWow"; wineRelease = "staging"; }); - newwinetricks = pkgs.winetricks.override { wine = newwine; }; + ezDrv + inputs.mudl.defaultPackage.${pkgs.system} - oldwine = pkgs.wineWowPackages.full; - oldwinetricks = pkgs.winetricks.override { wine = oldwine; }; - in - [ - waybar - wl-clipboard # important actually, for vim and other things - xwayland - libappindicator-gtk3 + bitwarden-cli + kitty + pavucontrol + mpv + yt-dlp + maim + slop - oldwine - oldwinetricks + ark + notify-osd + libnotify + ffmpeg + id3v2 + imagemagick - jq + mpc_cli + nix-index - ezDrv - inputs.mudl.defaultPackage.${pkgs.system} - - bitwarden-cli - kitty - pavucontrol - mpv - yt-dlp - maim - slop - - ark - notify-osd - libnotify - ffmpeg - id3v2 - imagemagick - - mpc_cli - nix-index - - gitAndTools.hub - nmap - nixpkgs-fmt - ] ++ lib.optionals cfg.gaming [ - xlibs.xf86inputjoystick - oldwine - oldwinetricks - ] ++ lib.optionals (cfg.gaming && !cfg.flatSteam) [ - steam - steam-run - (writeScriptBin "steam-run-native" '' - #!${pkgs.stdenv.shell} - ${(steam.override { nativeOnly = true; }).run}/bin/steam-run $@ - '') - ] ++ lib.optionals (cfg.gaming && 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 - '' - ) - ]; + gitAndTools.hub + nmap + nixpkgs-fmt + ]; programs.rofi = { enable = lib.mkDefault true; diff --git a/home-manager/modules/gaming.nix b/home-manager/modules/gaming.nix new file mode 100644 index 0000000..003ce55 --- /dev/null +++ b/home-manager/modules/gaming.nix @@ -0,0 +1,59 @@ +{ 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"; + }; + + flatSteam = mkOption { + type = types.bool; + default = false; + description = "If you use the flatpak Steam instead of NixOS"; + }; + }; + + config = mkIf cfg.enable { + home.packages = + let + steam = pkgs.steam.override { withJava = true; }; + + steam-run = steam.run; + + 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; [ + xlibs.xf86inputjoystick + oldwine + oldwinetricks + ] ++ lib.optionals (!cfg.flatSteam) [ + steam + steam-run + (writeScriptBin "steam-run-native" '' + #!${pkgs.stdenv.shell} + ${(steam.override { nativeOnly = true; }).run}/bin/steam-run $@ + '') + ] ++ 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 + '' + ) + ]; + }; +}