nixos/hosts/FredOS-Gaming.nix
2026-05-15 19:46:44 +01:00

89 lines
3.1 KiB
Nix

# 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" ];
};
};
}