nixos/hosts/FredOS-Gaming.nix

79 lines
2.2 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
];
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";
wantedBy = [ "default.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = false;
};
script = ''
STEAM_DIR="$HOME/.local/share/Steam"
DESKTOP_DIR="$HOME/.local/share/applications"
# Wait a bit for Steam to create desktop files
sleep 5
for desktop_file in "$DESKTOP_DIR"/steam_app_*.desktop; do
[ -f "$desktop_file" ] || continue
app_id=$(basename "$desktop_file" | sed 's/steam_app_\(.*\)\.desktop/\1/')
icon_file=$(find "$STEAM_DIR/appcache/librarycache/$app_id" -name "*.jpg" 2>/dev/null | head -n 1)
if [ -f "$icon_file" ]; then
${pkgs.gnused}/bin/sed -i "s|Icon=steam_icon_$app_id|Icon=$icon_file|" "$desktop_file"
echo "Fixed icon for App ID: $app_id"
fi
done
'';
};
# Path watcher to trigger the fix when desktop files change
systemd.user.paths.steam-icon-fix-watcher = {
wantedBy = [ "default.target" ];
pathConfig = {
PathChanged = "%h/.local/share/applications";
Unit = "steam-icon-fix.service";
};
};
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
};
}