Files
sydnix/modules/home/steam.nix
2025-04-12 18:19:12 -06:00

31 lines
1.0 KiB
Nix

{ config, pkgs, lib, inputs, system, ... }:
let cfg = config.sydnix.steam;
in {
options.sydnix.steam = {
enable = lib.mkEnableOption "Steam";
};
config = lib.mkIf cfg.enable {
# Steam is quite buggy and doesn't play too nicely with Impermanence:
# 1. We must use symlinks, rather than bind-mounts.
# 2. The symlinks *must not be present* during Steam's first launch
# (i.e. when it installs itself). Horrible bugs ensue.
sydnix.impermanence.directories = [
# Steam has a number of mysterious issues when its state directories are
# symlinks. Most bizarrely, I've experienced complementory issues;
# everything breaks when I use bind-mounts, but not
# symlinks. Thanks, Valve!
#
# https://github.com/ValveSoftware/steam-for-linux/issues/10552
# https://github.com/nix-community/impermanence/issues/165
# { directory = ".local/share/Steam"; method = "symlink"; }
{ directory = ".steam"; method = "symlink"; }
];
home.packages = [
pkgs.protonup-qt
];
};
}