fix(steam): Impermanence + Steam

This commit is contained in:
Madeleine Sydney
2025-04-10 07:42:10 -06:00
parent 3600f56d92
commit 240bdfb6da
5 changed files with 28 additions and 5 deletions

View File

@@ -4,6 +4,16 @@ let cfg = config.sydnix.steam;
in {
options.sydnix.steam = {
enable = lib.mkEnableOption "Steam";
impermanenceUsers = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = ''
A list of users for which ~/.local/share/Steam shall be persisted. This
is a disgusting hack to get around an issue with Impermanence's
home-manager module.
https://github.com/nix-community/impermanence/issues/165#issuecomment-2537723929
'';
};
};
config = lib.mkIf cfg.enable {
@@ -28,5 +38,14 @@ in {
enable = true;
enable32Bit = true;
};
environment.persistence.${config.sydnix.impermanence.persistDirectory}.users =
builtins.listToAttrs
(builtins.map
(user: {
name = user;
value.directories = [".local/share/Steam"];
})
cfg.impermanenceUsers);
};
}