From 13b69ccc95a976e22666beafc9ba750b579b4192 Mon Sep 17 00:00:00 2001 From: imxyy_soope_ Date: Sun, 29 Jun 2025 15:13:29 +0800 Subject: [PATCH] refactor: persist --- config/base.nix | 7 +++++++ config/hosts/imxyy-nix-server/home.nix | 9 --------- config/hosts/imxyy-nix/home.nix | 17 ----------------- modules/cli/media/go-musicfox/default.nix | 7 +++++++ modules/cli/media/mpd/default.nix | 3 +++ modules/coding/editor/neovim/default.nix | 3 +++ modules/desktop/gaming/minecraft.nix | 3 +++ modules/desktop/gaming/steam.nix | 3 +++ modules/desktop/media/spotube.nix | 5 +++++ modules/desktop/screencast/obs-studio.nix | 3 +++ modules/virt/default.nix | 5 +++++ 11 files changed, 39 insertions(+), 26 deletions(-) diff --git a/config/base.nix b/config/base.nix index e4ad190..32ba71e 100644 --- a/config/base.nix +++ b/config/base.nix @@ -22,10 +22,17 @@ nixosDirs = [ "/root" "/var" + "/etc/ssh" ]; nixosFiles = [ "/etc/machine-id" ]; + homeDirs = [ + { + directory = ".ssh"; + mode = "0700"; + } + ]; }; }; } diff --git a/config/hosts/imxyy-nix-server/home.nix b/config/hosts/imxyy-nix-server/home.nix index 7ccde4d..a37a287 100644 --- a/config/hosts/imxyy-nix-server/home.nix +++ b/config/hosts/imxyy-nix-server/home.nix @@ -12,20 +12,11 @@ "workspace" "Virt" - { - directory = ".ssh"; - mode = "0700"; - } ".local/state" - ".local/share" - ".local/share/nvim" ".cache" ".ollama" ]; - nixosDirs = [ - "/etc/ssh" - ]; }; }; } diff --git a/config/hosts/imxyy-nix/home.nix b/config/hosts/imxyy-nix/home.nix index 8671e11..3c219f8 100644 --- a/config/hosts/imxyy-nix/home.nix +++ b/config/hosts/imxyy-nix/home.nix @@ -154,8 +154,6 @@ ".android" "Android" - ".ssh" - "bin" "workspace" "Virt" @@ -163,13 +161,9 @@ ".cache" ".local/state" ".local/share/Anki2" - ".local/share/nvim" ".local/share/shotwell" - ".local/share/Steam" - ".local/share/SteamOS" ".local/share/cheat.sh" ".local/share/Kingsoft" - ".local/share/oss.krtirtho.spotube" ".local/share/AyuGramDesktop" ".local/share/TelegramDesktop" @@ -182,21 +176,10 @@ ".config/dconf" ".config/gh" ".config/pulse" - ".config/go-musicfox/db" ".config/pip" - ".config/obs-studio" ".config/libreoffice" - ".config/Moonlight Game Streaming Project" ".config/sunshine" ]; - nixosDirs = [ - "/etc/ssh" - ]; - homeFiles = [ - ".config/mpd/mpd.db" # requires bindfs - ".config/go-musicfox/cookie" - ".hmcl.json" - ]; }; }; } diff --git a/modules/cli/media/go-musicfox/default.nix b/modules/cli/media/go-musicfox/default.nix index 999a2c0..cd7283a 100644 --- a/modules/cli/media/go-musicfox/default.nix +++ b/modules/cli/media/go-musicfox/default.nix @@ -23,6 +23,13 @@ lib.my.makeSwitch { }; cli.media.mpd.enable = true; + + persist.homeDirs = [ + ".config/go-musicfox/db" + ]; + persist.homeFiles = [ + ".config/go-musicfox/cookie" + ]; }; }; } diff --git a/modules/cli/media/mpd/default.nix b/modules/cli/media/mpd/default.nix index 9011564..aa9ab6e 100644 --- a/modules/cli/media/mpd/default.nix +++ b/modules/cli/media/mpd/default.nix @@ -21,5 +21,8 @@ lib.my.makeSwitch { services.mpris-proxy.enable = true; xdg.configFile."mpd/mpd.conf".source = ./mpd.conf; }; + my.persist.homeFiles = [ + ".config/mpd/mpd.db" + ]; }; } diff --git a/modules/coding/editor/neovim/default.nix b/modules/coding/editor/neovim/default.nix index dbda401..cebb817 100644 --- a/modules/coding/editor/neovim/default.nix +++ b/modules/coding/editor/neovim/default.nix @@ -54,5 +54,8 @@ lib.my.makeHomeProgramConfig { ]; }; }; + my.persist.homeDirs = [ + ".local/share/nvim" + ]; }; } diff --git a/modules/desktop/gaming/minecraft.nix b/modules/desktop/gaming/minecraft.nix index 283527f..07df61e 100644 --- a/modules/desktop/gaming/minecraft.nix +++ b/modules/desktop/gaming/minecraft.nix @@ -23,5 +23,8 @@ lib.my.makeSwitch { ".minecraft" ".local/share/hmcl" ]; + my.persist.homeFiles = [ + ".hmcl.json" + ]; }; } diff --git a/modules/desktop/gaming/steam.nix b/modules/desktop/gaming/steam.nix index 28e938b..7b5f5c8 100644 --- a/modules/desktop/gaming/steam.nix +++ b/modules/desktop/gaming/steam.nix @@ -20,5 +20,8 @@ lib.my.makeSwitch { gamescope ]; }; + my.persist.homeDirs = [ + ".local/share/Steam" + ]; }; } diff --git a/modules/desktop/media/spotube.nix b/modules/desktop/media/spotube.nix index c418857..fa6a5b2 100644 --- a/modules/desktop/media/spotube.nix +++ b/modules/desktop/media/spotube.nix @@ -13,4 +13,9 @@ lib.my.makeHomePackageConfig { "media" "spotube" ]; + extraConfig = { + my.persist.homeDirs = [ + ".local/share/oss.krtirtho.spotube" + ]; + }; } diff --git a/modules/desktop/screencast/obs-studio.nix b/modules/desktop/screencast/obs-studio.nix index fb06e8a..aca3673 100644 --- a/modules/desktop/screencast/obs-studio.nix +++ b/modules/desktop/screencast/obs-studio.nix @@ -21,5 +21,8 @@ lib.my.makeSwitch { ]; }) ]; + my.persist.homeDirs = [ + ".config/obs-studio" + ]; }; } diff --git a/modules/virt/default.nix b/modules/virt/default.nix index 4b547fc..4d851b9 100644 --- a/modules/virt/default.nix +++ b/modules/virt/default.nix @@ -32,6 +32,11 @@ in "virt" "moonlight" ]; + extraConfig = { + my.persist.homeDirs = [ + ".config/Moonlight Game Streaming Project" + ]; + }; }) ];