Commit 3ebb75e5c2bf
Changed files (2)
home
common
dev
home/common/dev/ai.nix
@@ -1,9 +1,42 @@
{
inputs,
pkgs,
+ config,
...
}:
+let
+ claudeSyncDir = "${config.xdg.dataHome}/claude-sync";
+in
{
+ # Ensure claude-sync directory structure exists
+ xdg.dataFile = {
+ "claude-sync/history/.keep".text = "";
+ "claude-sync/projects/.keep".text = "";
+ "claude-sync/todos/.keep".text = "";
+ "claude-sync/plans/.keep".text = "";
+ };
+
+ # Symlink claude directories to synced location
+ # force = true because claude-code may recreate these dirs during operation
+ xdg.configFile = {
+ "claude/history" = {
+ source = config.lib.file.mkOutOfStoreSymlink "${claudeSyncDir}/history";
+ force = true;
+ };
+ "claude/projects" = {
+ source = config.lib.file.mkOutOfStoreSymlink "${claudeSyncDir}/projects";
+ force = true;
+ };
+ "claude/todos" = {
+ source = config.lib.file.mkOutOfStoreSymlink "${claudeSyncDir}/todos";
+ force = true;
+ };
+ "claude/plans" = {
+ source = config.lib.file.mkOutOfStoreSymlink "${claudeSyncDir}/plans";
+ force = true;
+ };
+ };
+
home.packages = with pkgs; [
chmouzies-ai
aichat
globals.nix
@@ -38,9 +38,9 @@ _: {
id = "wpiah-ydwwx";
path = "/home/vincent/desktop/pictures/wallpapers";
};
- claude-history = {
- id = "j5zdn-6kq4t";
- path = "/home/vincent/.claude/history";
+ claude-sync = {
+ id = "claude-sync"; # new consolidated folder
+ path = "/home/vincent/.local/share/claude-sync";
};
};
net = {
@@ -182,7 +182,7 @@ _: {
sync = { };
screenshots = { };
wallpapers = { };
- claude-history = { };
+ claude-sync = { };
# TODO: implement paused or filter theses
# photos = {
# type = "receiveonly";
@@ -219,7 +219,7 @@ _: {
sync = { };
screenshots = { };
wallpapers = { };
- claude-history = { };
+ claude-sync = { };
# photos = {
# type = "receiveonly";
# paused = true; # TODO: implement this, start as paused