From 042b36f2e43ae70ff71ab08457b7d9f37917515f Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Feb 2026 20:00:52 +0000 Subject: [PATCH 1/5] Configure for atlas/pinj and add Wayland session variables - Rename hosts/hostname/ to hosts/atlas/ - Replace all placeholders with 'atlas' - Replace all placeholders with 'pinj' - Set timezone to Europe/Rome (with TODO note to change if needed) - Set locale to en_US.UTF-8 - Add Wayland session variables (QT_QPA_PLATFORM, MOZ_ENABLE_WAYLAND, NIXOS_OZONE_WL) for proper app integration - Remove placeholder comments that are no longer needed https://claude.ai/code/session_01UAdmEkSeh9NGPfjRfViLWY --- flake.nix | 3 +-- .../hardware-configuration.nix | 0 modules/common.nix | 20 +++++++++++-------- modules/dev.nix | 6 ++---- modules/gaming.nix | 6 ++---- 5 files changed, 17 insertions(+), 18 deletions(-) rename hosts/{hostname => atlas}/hardware-configuration.nix (100%) diff --git a/flake.nix b/flake.nix index 49664cc..ded9282 100644 --- a/flake.nix +++ b/flake.nix @@ -34,9 +34,8 @@ mangoModule = assert lib.hasAttrByPath [ "nixosModules" "mango" ] mango; mango.nixosModules.mango; - # IMPORTANT: Replace with actual hostname commonModules = [ - ./hosts//hardware-configuration.nix + ./hosts/atlas/hardware-configuration.nix ./modules/common.nix mangoModule ]; diff --git a/hosts/hostname/hardware-configuration.nix b/hosts/atlas/hardware-configuration.nix similarity index 100% rename from hosts/hostname/hardware-configuration.nix rename to hosts/atlas/hardware-configuration.nix diff --git a/modules/common.nix b/modules/common.nix index 47c4eb7..564e07e 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -10,10 +10,9 @@ # -------------------------------------------------------------------------- # SYSTEM # -------------------------------------------------------------------------- - # IMPORTANT: Replace with actual values - networking.hostName = ""; - time.timeZone = ""; - i18n.defaultLocale = ""; + networking.hostName = "atlas"; + time.timeZone = "Europe/Rome"; # TODO: Change to your timezone + i18n.defaultLocale = "en_US.UTF-8"; networking.networkmanager.enable = true; @@ -42,6 +41,13 @@ # This variable is optional but makes it explicit environment.variables.AMD_VULKAN_ICD = "RADV"; + # Wayland session variables for proper app integration + environment.sessionVariables = { + QT_QPA_PLATFORM = "wayland"; + MOZ_ENABLE_WAYLAND = "1"; + NIXOS_OZONE_WL = "1"; # Electron apps (VS Code, Discord, etc.) + }; + # -------------------------------------------------------------------------- # CPU - Zen 3 Optimizations (Ryzen 7 5700G) # -------------------------------------------------------------------------- @@ -75,16 +81,14 @@ enable = true; settings.default_session = { command = "mango"; - # IMPORTANT: Replace with actual username - user = ""; + user = "pinj"; }; }; # -------------------------------------------------------------------------- # USER ACCOUNT # -------------------------------------------------------------------------- - # IMPORTANT: Replace with actual username - users.users. = { + users.users.pinj = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "video" "seat" ]; # IMPORTANT: Generate a password hash with: mkpasswd -m sha-512 diff --git a/modules/dev.nix b/modules/dev.nix index bcf47d9..2f4dca4 100644 --- a/modules/dev.nix +++ b/modules/dev.nix @@ -22,10 +22,9 @@ }; }; - # IMPORTANT: Replace with actual username # NOTE: After first enabling/applying this dev profile, you must log out and # log back in (or reboot) for the docker group membership to take effect. - users.users..extraGroups = [ "docker" ]; + users.users.pinj.extraGroups = [ "docker" ]; # -------------------------------------------------------------------------- # DEVELOPMENT TOOLS @@ -35,8 +34,7 @@ nix-direnv.enable = true; # Caches nix shells }; - # IMPORTANT: Replace with actual username - users.users..packages = with pkgs; [ + users.users.pinj.packages = with pkgs; [ # -- Git -- lazygit gh # GitHub CLI diff --git a/modules/gaming.nix b/modules/gaming.nix index ad40843..e3f207b 100644 --- a/modules/gaming.nix +++ b/modules/gaming.nix @@ -53,14 +53,12 @@ # programs to function correctly. These groups are only added when using # the gaming profile. If you need consistent group membership across # both profiles, add these groups to common.nix instead. - # IMPORTANT: Replace with actual username - users.users..extraGroups = [ "corectrl" "gamemode" ]; + users.users.pinj.extraGroups = [ "corectrl" "gamemode" ]; # -------------------------------------------------------------------------- # GAMING PACKAGES # -------------------------------------------------------------------------- - # IMPORTANT: Replace with actual username - users.users..packages = with pkgs; [ + users.users.pinj.packages = with pkgs; [ # -- Performance Overlays -- mangohud # FPS counter, GPU stats goverlay # MangoHud GUI config From 48724124d5e65bc5310050d6778d5e8398e3c161 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Feb 2026 20:02:03 +0000 Subject: [PATCH 2/5] Set German timezone and keyboard layout - Change timezone from Europe/Rome to Europe/Berlin - Add German keyboard (nodeadkeys) for console and XKB - Keep en_US.UTF-8 locale for English system language https://claude.ai/code/session_01UAdmEkSeh9NGPfjRfViLWY --- modules/common.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/common.nix b/modules/common.nix index 564e07e..2f8914f 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -11,9 +11,16 @@ # SYSTEM # -------------------------------------------------------------------------- networking.hostName = "atlas"; - time.timeZone = "Europe/Rome"; # TODO: Change to your timezone + time.timeZone = "Europe/Berlin"; i18n.defaultLocale = "en_US.UTF-8"; + # German keyboard layout (nodeadkeys variant) + console.keyMap = "de-latin1-nodeadkeys"; + services.xserver.xkb = { + layout = "de"; + variant = "nodeadkeys"; + }; + networking.networkmanager.enable = true; # -------------------------------------------------------------------------- From 1944b51e29d00f0d450e0d302816cf66ecb216f7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 20:11:07 +0000 Subject: [PATCH 3/5] Initial plan From ec82700be0d1ebe1e3ba3d12a0a65ad260423443 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 20:13:24 +0000 Subject: [PATCH 4/5] Add nix-gaming, Home Manager, and system improvements - Add nix-gaming flake for gaming optimizations - Add Home Manager for better user package management - Enable zramSwap for memory compression - Enable fwupd for firmware updates - Enable power-profiles-daemon for power management - Add PipeWire low-latency configuration - Add platform optimizations from nix-gaming - Add gaming tools: LACT, vkbasalt, discord - Add dev tools: meld, dbeaver-bin, insomnia Co-authored-by: ragusa-it <196988693+ragusa-it@users.noreply.github.com> --- flake.nix | 17 ++++++++++++++++- modules/common.nix | 20 ++++++++++++++++++++ modules/dev.nix | 7 +++++-- modules/gaming.nix | 16 +++++++++++++++- 4 files changed, 56 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index ded9282..8e16d17 100644 --- a/flake.nix +++ b/flake.nix @@ -22,9 +22,19 @@ inputs.nixpkgs.follows = "nixpkgs"; 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"; + }; }; - outputs = { self, nixpkgs, mango, quickshell, noctalia, ... }@inputs: + outputs = { self, nixpkgs, mango, quickshell, noctalia, nix-gaming, home-manager, ... }@inputs: let system = "x86_64-linux"; lib = nixpkgs.lib; @@ -38,6 +48,11 @@ ./hosts/atlas/hardware-configuration.nix ./modules/common.nix mangoModule + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } ]; in { nixosConfigurations = { diff --git a/modules/common.nix b/modules/common.nix index 2f8914f..cb1413e 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -23,6 +23,19 @@ 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) # -------------------------------------------------------------------------- @@ -162,6 +175,13 @@ alsa.enable = true; alsa.support32Bit = 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) diff --git a/modules/dev.nix b/modules/dev.nix index 2f4dca4..55c183e 100644 --- a/modules/dev.nix +++ b/modules/dev.nix @@ -38,6 +38,8 @@ # -- Git -- lazygit gh # GitHub CLI + delta # Git diff viewer + meld # Visual diff tool # -- Node.js -- nodejs_22 @@ -54,10 +56,11 @@ bat # cat alternative fzf # Fuzzy finder zoxide # cd alternative - delta # Git diff viewer - # -- Database Clients -- + # -- Database & API Tools -- postgresql # psql client + dbeaver-bin # Database GUI + insomnia # API testing # redis # Uncomment if needed # -- Misc -- diff --git a/modules/gaming.nix b/modules/gaming.nix index e3f207b..7394371 100644 --- a/modules/gaming.nix +++ b/modules/gaming.nix @@ -1,9 +1,18 @@ -{ pkgs, ... }: +{ pkgs, inputs, ... }: { # Identification tags (shows in boot menu) 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 # -------------------------------------------------------------------------- @@ -62,6 +71,7 @@ # -- Performance Overlays -- mangohud # FPS counter, GPU stats goverlay # MangoHud GUI config + vkbasalt # Vulkan post-processing (sharpening, CAS) # -- Game Launchers -- lutris # Multi-platform launcher @@ -76,6 +86,10 @@ # -- Utilities -- gamescope # Micro-compositor for gaming corectrl # AMD GPU control GUI + lact # LACT - AMD GPU control (alternative to CoreCtrl) + + # -- Communication -- + discord # Voice chat and gaming communities # -- Optional Game Clients -- # prismlauncher # Minecraft From 37b8df041711dfc28b22928b535efad66b39b3e5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 20:14:17 +0000 Subject: [PATCH 5/5] Address code review feedback - Fix redundant LACT comment - Add clarifying comment for Home Manager setup Co-authored-by: ragusa-it <196988693+ragusa-it@users.noreply.github.com> --- flake.nix | 2 ++ modules/gaming.nix | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 8e16d17..ff0dd48 100644 --- a/flake.nix +++ b/flake.nix @@ -48,6 +48,8 @@ ./hosts/atlas/hardware-configuration.nix ./modules/common.nix mangoModule + # Home Manager module - Foundation for user-level package management + # User-specific configurations can be added via home-manager.users. home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; diff --git a/modules/gaming.nix b/modules/gaming.nix index 7394371..b93f913 100644 --- a/modules/gaming.nix +++ b/modules/gaming.nix @@ -86,7 +86,7 @@ # -- Utilities -- gamescope # Micro-compositor for gaming corectrl # AMD GPU control GUI - lact # LACT - AMD GPU control (alternative to CoreCtrl) + lact # Linux AMDGPU Control Tool (alternative to CoreCtrl) # -- Communication -- discord # Voice chat and gaming communities