add gamer environment, fix sunshine
This commit is contained in:
parent
ea38b66b82
commit
81b226d1b3
@ -39,7 +39,7 @@
|
|||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
sunshine = {
|
sunshine = {
|
||||||
url = "git+ssh://git@github.com/loki-47-6F-64/sunshine.git";
|
url = "git+ssh://git@github.com/loki-47-6F-64/sunshine.git?submodules=true";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -60,6 +60,7 @@
|
|||||||
colors = import ./home-manager/modules/colors.nix inputs;
|
colors = import ./home-manager/modules/colors.nix inputs;
|
||||||
fonts = import ./home-manager/modules/fonts.nix;
|
fonts = import ./home-manager/modules/fonts.nix;
|
||||||
gaming = import ./home-manager/modules/gaming.nix inputs;
|
gaming = import ./home-manager/modules/gaming.nix inputs;
|
||||||
|
gamerenv = import ./home-manager/modules/gamerenv.nix;
|
||||||
all = import ./home-manager/modules/default.nix inputs;
|
all = import ./home-manager/modules/default.nix inputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ inputs:
|
|||||||
(import ./ezpcusr.nix inputs)
|
(import ./ezpcusr.nix inputs)
|
||||||
(import ./colors.nix inputs)
|
(import ./colors.nix inputs)
|
||||||
(import ./gaming.nix inputs)
|
(import ./gaming.nix inputs)
|
||||||
|
./gamerenv.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -208,7 +208,7 @@ in
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
terminal = lib.mkDefault "kitty";
|
terminal = lib.mkDefault "${pkgs.kitty}/bin/kitty";
|
||||||
|
|
||||||
modifier = lib.mkDefault "Mod4";
|
modifier = lib.mkDefault "Mod4";
|
||||||
|
|
||||||
@ -691,7 +691,7 @@ in
|
|||||||
|
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
terminal = lib.mkDefault "kitty";
|
terminal = lib.mkDefault "${pkgs.kitty}/bin/kitty";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
43
home-manager/modules/gamerenv.nix
Normal file
43
home-manager/modules/gamerenv.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.gamerenv;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.gamerenv = {
|
||||||
|
enable = mkEnableOption "Enable gaming environment stuff";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.rofi = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
terminal = lib.mkDefault "${pkgs.kitty}/bin/kitty";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.kitty.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
programs.chromium.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
fonts.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xsession.enable = true;
|
||||||
|
xsession.windowManager.i3 = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.i3-gaps;
|
||||||
|
config = {
|
||||||
|
modifier = "Mod1";
|
||||||
|
terminal = "${pkgs.kitty}/bin/kitty";
|
||||||
|
floating.criteria = [{ class = "[.]*"; }];
|
||||||
|
defaultWorkspace = "workspace number 1";
|
||||||
|
keybindings = lib.mkOptionDefault {
|
||||||
|
"Mod1+F4" = "kill";
|
||||||
|
"${config.xsession.windowManager.i3.config.modifier}+q" = "kill";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -10,7 +10,14 @@ let
|
|||||||
|
|
||||||
sunshine = pkgs.stdenv.mkDerivation {
|
sunshine = pkgs.stdenv.mkDerivation {
|
||||||
name = "sunshine";
|
name = "sunshine";
|
||||||
src = inputs.sunshine;
|
# src = inputs.sunshine;
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "loki-47-6F-64";
|
||||||
|
repo = "sunshine";
|
||||||
|
rev = "e4c9c292e57d39136df2d46d1e9b66eba53f3bd3";
|
||||||
|
sha256 = "sha256-YrQHHpw7GOcdlnyJI28VShYFrTRq7kpILnkyCYf77NE=";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
cmakeFlags = [ "-DSUNSHINE_ASSETS_DIR=assets" "-DSUNSHINE_DEFAULT_DIR=${sunshineAssets}" ];
|
cmakeFlags = [ "-DSUNSHINE_ASSETS_DIR=assets" "-DSUNSHINE_DEFAULT_DIR=${sunshineAssets}" ];
|
||||||
|
|
||||||
@ -28,22 +35,25 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
addOpenGLRunpath $out/bin/sunshine
|
wrapProgram $out/bin/sunshine --prefix LD_LIBRARY_PATH ":" "/run/opengl-driver/lib"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [ cmake pkgconfig addOpenGLRunpath ];
|
nativeBuildInputs = with pkgs; [ cmake pkgconfig makeWrapper ];
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
openssl
|
openssl
|
||||||
(boost.override { enableShared = false; enableStatic = true; })
|
(boost.override { enableShared = false; enableStatic = true; })
|
||||||
ffmpeg-full
|
wayland
|
||||||
|
valgrind
|
||||||
|
libffi
|
||||||
|
ffmpeg
|
||||||
libevdev
|
libevdev
|
||||||
libcap
|
libcap
|
||||||
libdrm
|
libdrm
|
||||||
libpulseaudio
|
libpulseaudio
|
||||||
libopus
|
libopus
|
||||||
cudatoolkit_11
|
cudatoolkit_11_4
|
||||||
xorg.libXrandr
|
xorg.libXrandr
|
||||||
xorg.libXfixes
|
xorg.libXfixes
|
||||||
xorg.libXtst
|
xorg.libXtst
|
||||||
@ -136,13 +146,6 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.rofi = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
terminal = lib.mkDefault "${pkgs.kitty}/bin/kitty";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.kitty.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
systemd.user.services.scc = {
|
systemd.user.services.scc = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "User-mode driver and GTK3 based GUI for Steam Controller";
|
Description = "User-mode driver and GTK3 based GUI for Steam Controller";
|
||||||
@ -186,13 +189,5 @@ in
|
|||||||
|
|
||||||
Install = { WantedBy = [ "graphical-session.target" ]; };
|
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.chromium.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
fonts.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
colors = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,9 @@ in
|
|||||||
vaapiIntel
|
vaapiIntel
|
||||||
vaapiVdpau
|
vaapiVdpau
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
|
libGL
|
||||||
];
|
];
|
||||||
|
setLdLibraryPath = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Support for steam hardware
|
# Support for steam hardware
|
||||||
@ -170,11 +172,19 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
# Steam remote play
|
# Steam remote play
|
||||||
networking.firewall.allowedTCPPorts = [ 27036 ];
|
27036
|
||||||
|
# Sunshine/moonlight streaming
|
||||||
|
47984 47989 48010
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
# Used for upnp or something?
|
# Used for upnp or something?
|
||||||
networking.firewall.allowedUDPPorts = [ 1900 ];
|
1900
|
||||||
|
# Sunshine/moonlight streaming
|
||||||
|
47998 47999 48000 48002 48010
|
||||||
|
];
|
||||||
|
|
||||||
# Shit breaks without this lol
|
# Shit breaks without this lol
|
||||||
programs.dconf.enable = lib.mkDefault true;
|
programs.dconf.enable = lib.mkDefault true;
|
||||||
|
Loading…
Reference in New Issue
Block a user