# hosts/FredOS-Gaming.nix { config, pkgs, lib, inputs, ... }: { config = lib.mkIf (config.networking.hostName == "FredOS-Gaming") { environment.systemPackages = with pkgs; [ lutris #(heroic.override { # extraPkgs = pkgs: with pkgs; [ # adwaita-icon-theme # ]; #}) mangohud gamescope vesktop lsfg-vk lsfg-vk-ui faugus-launcher adwaita-icon-theme mission-center geary wowup-cf adwsteamgtk protonvpn-gui onlyoffice-desktopeditors woeusb ]; programs.nix-ld.enable = true; programs.nix-ld.libraries = with pkgs; [ stdenv.cc.cc.lib # libstdc++.so.6 — needed by VSCodium extension native addons (e.g. sqlite3 in Continue) ]; programs.steam = { enable = true; remotePlay.openFirewall = true; extraCompatPackages = [ inputs.proton-cachyos-nix.packages.${pkgs.stdenv.hostPlatform.system}.proton-cachyos-x86_64-v3 ]; package = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ adwaita-icon-theme ]; }; }; boot.loader.systemd-boot.configurationLimit = 5; boot.initrd.systemd.enable = true; boot.kernelParams = [ "video=DP-2:3440x1440@180" ]; # LAN has no IPv6 route — AAAA lookups succeed but connect fails, which # made NetworkManager's connectivity probe report "limited" at boot # (GNOME's "?" icon) until the next 5-min repoll. # # `enableIPv6 = false` only sets the system-wide sysctl; NetworkManager # still flips disable_ipv6=0 on the live interface because each connection # defaults to `ipv6.method = auto`. The probe then races over a SLAAC ULA # that has no real upstream and we get the "?" again. Force every NM # connection to skip v6 altogether and ignore router advertisements at # the kernel layer for any future interface. networking.enableIPv6 = false; networking.networkmanager.connectionConfig."ipv6.method" = "disabled"; boot.kernel.sysctl = { "net.ipv6.conf.all.accept_ra" = 0; "net.ipv6.conf.default.accept_ra" = 0; }; # NetworkManager only re-runs its connectivity probe on link-up or every # 5 minutes. If the first boot probe races NM startup and reports # "limited", GNOME caches that state until the next repoll — which is # what surfaces as the persistent "?" icon. This oneshot kicks an # explicit recheck once everything's online, which forces NM to # transition to "full" and the icon clears. systemd.services.nm-connectivity-kick = { description = "Force NetworkManager connectivity recheck after boot"; after = [ "NetworkManager.service" "network-online.target" ]; wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.networkmanager}/bin/nmcli networking connectivity check"; }; }; home-manager.users.fred = { ... }: { wayland.windowManager.hyprland.settings.monitor = [ "DP-2,3440x1440@180,0x0,1" ]; }; }; }