nixos/hosts/FredOS-Gaming.nix

83 lines
2.5 KiB
Nix
Raw Normal View History

2025-12-09 16:14:43 +00:00
# hosts/FredOS-Gaming.nix
2025-12-02 21:21:42 +00:00
{ config, pkgs, lib, ... }:
2025-12-09 16:14:43 +00:00
{
config = lib.mkIf (config.networking.hostName == "FredOS-Gaming") {
environment.systemPackages = with pkgs; [
lutris
2025-12-16 13:25:17 +00:00
heroic
2025-12-09 16:00:56 +00:00
];
2026-01-08 12:13:31 +00:00
hardware.graphics = {
enable = true;
enable32Bit = true;
};
2025-12-09 15:58:30 +00:00
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
package = pkgs.steam.override {
extraPkgs = pkgs: with pkgs; [
2025-12-10 20:08:07 +00:00
adwaita-icon-theme
2025-12-09 15:58:30 +00:00
];
};
2025-12-09 16:14:43 +00:00
};
2026-01-05 09:43:56 +00:00
# Steam icon fix script
systemd.user.services.steam-icon-fix = {
description = "Fix Steam Proton game icons";
serviceConfig = {
Type = "oneshot";
RemainAfterExit = false;
};
script = ''
STEAM_DIR="$HOME/.local/share/Steam"
DESKTOP_DIR="$HOME/.local/share/applications"
2026-01-05 10:26:41 +00:00
ICON_DIR="$HOME/.local/share/icons"
2026-01-05 10:15:19 +00:00
2026-01-05 09:49:12 +00:00
# Search all desktop files for steam_icon references
${pkgs.gnugrep}/bin/grep -l "Icon=steam_icon_" "$DESKTOP_DIR"/*.desktop 2>/dev/null | while read desktop_file; do
# Extract the app_id from the Icon line
app_id=$(${pkgs.gnugrep}/bin/grep "Icon=steam_icon_" "$desktop_file" | ${pkgs.gnused}/bin/sed 's/Icon=steam_icon_//')
2026-01-05 09:43:56 +00:00
2026-01-05 10:17:05 +00:00
# Check if icon already exists
2026-01-05 10:26:41 +00:00
if [ -f "$ICON_DIR/hicolor/256x256/apps/steam_icon_$app_id.png" ]; then
2026-01-05 10:17:05 +00:00
continue
fi
2026-01-05 09:49:12 +00:00
# Find the actual icon file
2026-01-05 09:43:56 +00:00
icon_file=$(find "$STEAM_DIR/appcache/librarycache/$app_id" -name "*.jpg" 2>/dev/null | head -n 1)
if [ -f "$icon_file" ]; then
2026-01-05 10:26:41 +00:00
# Copy icon to multiple sizes
2026-01-05 10:15:19 +00:00
for size in 48x48 64x64 128x128 256x256; do
2026-01-05 10:26:41 +00:00
mkdir -p "$ICON_DIR/hicolor/$size/apps/"
cp "$icon_file" "$ICON_DIR/hicolor/$size/apps/steam_icon_$app_id.png"
2026-01-05 10:08:28 +00:00
done
2026-01-05 10:15:19 +00:00
echo "Fixed icon for $(basename "$desktop_file"): App ID $app_id"
2026-01-05 09:43:56 +00:00
fi
done
'';
};
2025-12-16 20:09:02 +00:00
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.timeout = 1;
2025-12-09 16:14:43 +00:00
2025-12-09 15:58:30 +00:00
system.autoUpgrade = {
enable = true;
dates = "daily";
persistent = true;
allowReboot = false;
2025-12-09 19:34:50 +00:00
channel = "https://nixos.org/channels/nixos-unstable";
2025-12-09 15:58:30 +00:00
flags = [
"--upgrade"
"--option" "tarball-ttl" "0"
];
};
2025-12-09 16:14:43 +00:00
};
}