Integrate nix-gaming optimizations and Home Manager foundation #3

Merged
Copilot merged 3 commits from copilot/sub-pr-2 into claude/analyze-setup-z9dDE 2026-02-01 20:22:14 +00:00
4 changed files with 58 additions and 4 deletions

View File

@@ -22,9 +22,19 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.quickshell.follows = "quickshell"; inputs.quickshell.follows = "quickshell";
}; };
nix-gaming = {
url = "github:fufexan/nix-gaming";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
copilot-pull-request-reviewer[bot] commented 2026-02-01 20:21:00 +00:00 (Migrated from github.com)
Review

The new flake inputs nix-gaming and home-manager are referenced via mutable GitHub URLs without a committed flake.lock, so each build can pull arbitrary code from the upstream default branches. If either upstream repository or the GitHub supply chain is compromised, a malicious update could be fetched and evaluated as part of the NixOS build, leading to remote code execution or full system compromise. Pin these inputs via a committed flake.lock or explicit immutable revisions and update them only through a controlled process.

The new flake inputs `nix-gaming` and `home-manager` are referenced via mutable GitHub URLs without a committed `flake.lock`, so each build can pull arbitrary code from the upstream default branches. If either upstream repository or the GitHub supply chain is compromised, a malicious update could be fetched and evaluated as part of the NixOS build, leading to remote code execution or full system compromise. Pin these inputs via a committed `flake.lock` or explicit immutable revisions and update them only through a controlled process.
}; };
outputs = { self, nixpkgs, mango, quickshell, noctalia, ... }@inputs: outputs = { self, nixpkgs, mango, quickshell, noctalia, nix-gaming, home-manager, ... }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
lib = nixpkgs.lib; lib = nixpkgs.lib;
@@ -38,6 +48,13 @@
./hosts/atlas/hardware-configuration.nix ./hosts/atlas/hardware-configuration.nix
./modules/common.nix ./modules/common.nix
mangoModule mangoModule
# Home Manager module - Foundation for user-level package management
# User-specific configurations can be added via home-manager.users.<username>
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
]; ];
in { in {
nixosConfigurations = { nixosConfigurations = {

View File

@@ -23,6 +23,19 @@
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Memory compression (reduces swap usage)
zramSwap = {
enable = true;
algorithm = "zstd";
memoryPercent = 50;
};
# Firmware updates
services.fwupd.enable = true;
# Power profiles daemon (for laptop/power management)
services.power-profiles-daemon.enable = true;
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# AMD GPU - RDNA 4 (RX 9060 XT) + Zen 3 CPU (5700G) # AMD GPU - RDNA 4 (RX 9060 XT) + Zen 3 CPU (5700G)
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
@@ -162,6 +175,13 @@
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
# Low-latency configuration for gaming
lowLatency = {
enable = true;
quantum = 64; # Buffer size (lower = less latency)
rate = 48000; # Sample rate
};
}; };
# Disable PulseAudio (conflicts with PipeWire) # Disable PulseAudio (conflicts with PipeWire)

View File

@@ -38,6 +38,8 @@
# -- Git -- # -- Git --
lazygit lazygit
gh # GitHub CLI gh # GitHub CLI
delta # Git diff viewer
meld # Visual diff tool
# -- Node.js -- # -- Node.js --
nodejs_22 nodejs_22
@@ -54,10 +56,11 @@
bat # cat alternative bat # cat alternative
fzf # Fuzzy finder fzf # Fuzzy finder
zoxide # cd alternative zoxide # cd alternative
delta # Git diff viewer
# -- Database Clients -- # -- Database & API Tools --
postgresql # psql client postgresql # psql client
dbeaver-bin # Database GUI
insomnia # API testing
# redis # Uncomment if needed # redis # Uncomment if needed
# -- Misc -- # -- Misc --

View File

@@ -1,9 +1,18 @@
{ pkgs, ... }: { pkgs, inputs, ... }:
{ {
# Identification tags (shows in boot menu) # Identification tags (shows in boot menu)
system.nixos.tags = [ "gaming" "zen" ]; system.nixos.tags = [ "gaming" "zen" ];
# --------------------------------------------------------------------------
# NIX-GAMING PLATFORM OPTIMIZATIONS
# --------------------------------------------------------------------------
imports = [
inputs.nix-gaming.nixosModules.platformOptimisations
];
nix-gaming.platformOptimisations.enable = true;
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
# KERNEL - Zen for gaming performance # KERNEL - Zen for gaming performance
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
@@ -62,6 +71,7 @@
# -- Performance Overlays -- # -- Performance Overlays --
mangohud # FPS counter, GPU stats mangohud # FPS counter, GPU stats
goverlay # MangoHud GUI config goverlay # MangoHud GUI config
vkbasalt # Vulkan post-processing (sharpening, CAS)
# -- Game Launchers -- # -- Game Launchers --
lutris # Multi-platform launcher lutris # Multi-platform launcher
@@ -76,6 +86,10 @@
# -- Utilities -- # -- Utilities --
gamescope # Micro-compositor for gaming gamescope # Micro-compositor for gaming
corectrl # AMD GPU control GUI corectrl # AMD GPU control GUI
lact # Linux AMDGPU Control Tool (alternative to CoreCtrl)
# -- Communication --
discord # Voice chat and gaming communities
# -- Optional Game Clients -- # -- Optional Game Clients --
# prismlauncher # Minecraft # prismlauncher # Minecraft