feat: add gaming specialisation

the home-manager aspect of it does not work currently
(packages do not become available when enabled)
This commit is contained in:
Swarsel 2024-12-10 18:32:47 +01:00
parent 39f2058b7a
commit ac1d1a24e7
Signed by: swarsel
GPG key ID: 26A54C31F2A4FD84
4 changed files with 87 additions and 71 deletions

View file

@ -919,11 +919,11 @@ My work machine. Built for more security, this is the gold standard of my config
./hardware-configuration.nix ./hardware-configuration.nix
./disk-config.nix ./disk-config.nix
"${profilesPath}/optional/nixos/steam.nix"
"${profilesPath}/optional/nixos/virtualbox.nix" "${profilesPath}/optional/nixos/virtualbox.nix"
# "${profilesPath}/optional/nixos/vmware.nix" # "${profilesPath}/optional/nixos/vmware.nix"
"${profilesPath}/optional/nixos/autologin.nix" "${profilesPath}/optional/nixos/autologin.nix"
"${profilesPath}/optional/nixos/nswitch-rcm.nix" "${profilesPath}/optional/nixos/nswitch-rcm.nix"
"${profilesPath}/optional/nixos/gaming.nix"
"${profilesPath}/optional/nixos/work.nix" "${profilesPath}/optional/nixos/work.nix"
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
@ -5890,37 +5890,41 @@ These sets of configuration do not need to be deployed on every host, for a mult
This opens a few gaming ports and installs the steam configuration suite for gaming. There are more options in [[#h:84fd7029-ecb6-4131-9333-289982f24ffa][Gaming]] (home-manager side). This opens a few gaming ports and installs the steam configuration suite for gaming. There are more options in [[#h:84fd7029-ecb6-4131-9333-289982f24ffa][Gaming]] (home-manager side).
#+begin_src nix :tangle profiles/optional/nixos/gaming.nix #+begin_src nix :tangle profiles/optional/nixos/gaming.nix
{ pkgs, ... }: { pkgs, ... }:
{ {
networking = { specialisation = {
firewall = { gaming.configuration = {
allowedUDPPorts = [ 4380 27036 14242 34197 ]; # 34197: factorio; 4380 27036 14242: barotrauma; networking = {
allowedTCPPorts = [ ]; # 34197: factorio; 4380 27036 14242: barotrauma; 51820: wireguard firewall = {
allowedTCPPortRanges = [ allowedUDPPorts = [ 4380 27036 14242 34197 ]; # 34197: factorio; 4380 27036 14242: barotrauma;
{ from = 27015; to = 27030; } # barotrauma allowedTCPPorts = [ ]; # 34197: factorio; 4380 27036 14242: barotrauma; 51820: wireguard
{ from = 27036; to = 27037; } # barotrauma allowedTCPPortRanges = [
]; { from = 27015; to = 27030; } # barotrauma
allowedUDPPortRanges = [ { from = 27036; to = 27037; } # barotrauma
{ from = 27000; to = 27031; } # barotrauma ];
{ from = 58962; to = 58964; } # barotrauma allowedUDPPortRanges = [
{ from = 27000; to = 27031; } # barotrauma
{ from = 58962; to = 58964; } # barotrauma
];
};
};
programs.steam = {
enable = true;
extraCompatPackages = [
pkgs.proton-ge-bin
]; ];
}; };
};
programs.steam = { hardware.xone.enable = true;
enable = true;
extraCompatPackages = [ environment.systemPackages = [
pkgs.proton-ge-bin pkgs.linuxKernel.packages.linux_6_12.xone
]; ];
}; };
};
hardware.xone.enable = true; }
environment.systemPackages = [
linuxKernel.packages.linux_6_10.xone
];
}
#+end_src #+end_src
@ -8922,28 +8926,32 @@ The rest of the settings is at [[#h:fb3f3e01-7df4-4b06-9e91-aa9cac61a431][gaming
#+begin_src nix :tangle profiles/optional/home/gaming.nix #+begin_src nix :tangle profiles/optional/home/gaming.nix
{ pkgs, ... }: { pkgs, ... }:
{ {
home.packages = with pkgs; [ # specialisation = {
stable.lutris # gaming.configuration = {
wine home.packages = with pkgs; [
libudev-zero stable.lutris
dwarfs wine
fuse-overlayfs libudev-zero
# steam dwarfs
# steam-run fuse-overlayfs
patchelf # steam
gamescope # steam-run
vulkan-tools patchelf
moonlight-qt gamescope
ns-usbloader vulkan-tools
moonlight-qt
ns-usbloader
quark-goldleaf quark-goldleaf
# gog games installing # gog games installing
heroic heroic
# minecraft # minecraft
prismlauncher # has overrides prismlauncher # has overrides
temurin-bin-17 temurin-bin-17
]; ];
# };
# };
} }
#+end_src #+end_src

View file

@ -11,11 +11,11 @@ in
./hardware-configuration.nix ./hardware-configuration.nix
./disk-config.nix ./disk-config.nix
"${profilesPath}/optional/nixos/steam.nix"
"${profilesPath}/optional/nixos/virtualbox.nix" "${profilesPath}/optional/nixos/virtualbox.nix"
# "${profilesPath}/optional/nixos/vmware.nix" # "${profilesPath}/optional/nixos/vmware.nix"
"${profilesPath}/optional/nixos/autologin.nix" "${profilesPath}/optional/nixos/autologin.nix"
"${profilesPath}/optional/nixos/nswitch-rcm.nix" "${profilesPath}/optional/nixos/nswitch-rcm.nix"
"${profilesPath}/optional/nixos/gaming.nix"
"${profilesPath}/optional/nixos/work.nix" "${profilesPath}/optional/nixos/work.nix"
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager

View file

@ -1,5 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
# specialisation = {
# gaming.configuration = {
home.packages = with pkgs; [ home.packages = with pkgs; [
stable.lutris stable.lutris
wine wine
@ -22,4 +24,6 @@
prismlauncher # has overrides prismlauncher # has overrides
temurin-bin-17 temurin-bin-17
]; ];
# };
# };
} }

View file

@ -1,31 +1,35 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
networking = { specialisation = {
firewall = { gaming.configuration = {
allowedUDPPorts = [ 4380 27036 14242 34197 ]; # 34197: factorio; 4380 27036 14242: barotrauma; networking = {
allowedTCPPorts = [ ]; # 34197: factorio; 4380 27036 14242: barotrauma; 51820: wireguard firewall = {
allowedTCPPortRanges = [ allowedUDPPorts = [ 4380 27036 14242 34197 ]; # 34197: factorio; 4380 27036 14242: barotrauma;
{ from = 27015; to = 27030; } # barotrauma allowedTCPPorts = [ ]; # 34197: factorio; 4380 27036 14242: barotrauma; 51820: wireguard
{ from = 27036; to = 27037; } # barotrauma allowedTCPPortRanges = [
]; { from = 27015; to = 27030; } # barotrauma
allowedUDPPortRanges = [ { from = 27036; to = 27037; } # barotrauma
{ from = 27000; to = 27031; } # barotrauma ];
{ from = 58962; to = 58964; } # barotrauma allowedUDPPortRanges = [
{ from = 27000; to = 27031; } # barotrauma
{ from = 58962; to = 58964; } # barotrauma
];
};
};
programs.steam = {
enable = true;
extraCompatPackages = [
pkgs.proton-ge-bin
];
};
hardware.xone.enable = true;
environment.systemPackages = [
pkgs.linuxKernel.packages.linux_6_12.xone
]; ];
}; };
}; };
programs.steam = {
enable = true;
extraCompatPackages = [
pkgs.proton-ge-bin
];
};
hardware.xone.enable = true;
environment.systemPackages = [
linuxKernel.packages.linux_6_10.xone
];
} }