From 38a1168a325b577fe56c2f7c0b3803ee50b9e2ae Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Mon, 26 May 2025 18:23:10 -0400 Subject: [PATCH] Persist persistent_settings.dat on steam deck. --- nix/steam_deck/configuration/roles/rpcs3/default.nix | 4 +++- .../configuration/util/persist_symlink/default.nix | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/nix/steam_deck/configuration/roles/rpcs3/default.nix b/nix/steam_deck/configuration/roles/rpcs3/default.nix index 6e72ffc..8ca37dc 100644 --- a/nix/steam_deck/configuration/roles/rpcs3/default.nix +++ b/nix/steam_deck/configuration/roles/rpcs3/default.nix @@ -68,7 +68,6 @@ in source = ./files/CurrentSettings.ini; }; - # TODO: Persist file .config/rpcs3/GuiConfigs/persistent_settings.dat # play times and recently played me.persist.directories = [ ".config/rpcs3/games" # Location of ROMs. ".config/rpcs3/dev_hdd0" @@ -79,6 +78,9 @@ in ".config/rpcs3/input_configs" # Controller config. ".config/rpcs3/Icons" # Game icons. ]; + me.persist.files = [ + ".config/rpcs3/GuiConfigs/persistent_settings.dat" # play times and recently played + ]; me.state.directories = [ ".cache/rpcs3" ]; nixpkgs.overlays = [ diff --git a/nix/steam_deck/configuration/util/persist_symlink/default.nix b/nix/steam_deck/configuration/util/persist_symlink/default.nix index 0860d66..6339bab 100644 --- a/nix/steam_deck/configuration/util/persist_symlink/default.nix +++ b/nix/steam_deck/configuration/util/persist_symlink/default.nix @@ -16,6 +16,12 @@ example = [ ".local/share/dolphin-emu/Wii" ]; description = "List of folders relative to the home directory to persist."; }; + persist.files = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + example = [ ".local/share/foo.sqlite3" ]; + description = "List of files relative to the home directory to persist."; + }; state.directories = lib.mkOption { type = lib.types.listOf lib.types.str; default = [ ]; @@ -50,6 +56,11 @@ ); }; }) + (lib.mkIf (config.me.persist.files != [ ]) { + home.persistence."/home/deck/.persist" = { + files = config.me.persist.files; + }; + }) (lib.mkIf (config.me.state.directories != [ ]) { home.persistence."/home/deck/.state" = { directories = (