31 lines
1.0 KiB
Nix
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
|
|
];
|
|
};
|
|
}
|