From 02e59e74196574b710c475f615953d3c1913faf6 Mon Sep 17 00:00:00 2001
From: Matei Adriel <rafaeladriel11@gmail.com>
Date: Sat, 4 Nov 2023 20:51:56 +0100
Subject: [PATCH] Set up more persistence paths

---
 home/features/cli/ssh.nix     |  5 +--
 home/features/persistence.nix | 58 ++++++++++++++++++++++++++---------
 2 files changed, 45 insertions(+), 18 deletions(-)

diff --git a/home/features/cli/ssh.nix b/home/features/cli/ssh.nix
index 2998f5c..a7c51d5 100644
--- a/home/features/cli/ssh.nix
+++ b/home/features/cli/ssh.nix
@@ -1,8 +1,5 @@
 {
   programs.ssh.enable = true;
 
-  # TODO: persistence
-  # home.persistence = {
-  #   "/persist/home/adrielus".directories = [ ".ssh" ];
-  # };
+  satellite.persistence.at.state.apps.ssh.directories = [ ".ssh" ];
 }
diff --git a/home/features/persistence.nix b/home/features/persistence.nix
index ea56c30..c20156f 100644
--- a/home/features/persistence.nix
+++ b/home/features/persistence.nix
@@ -14,23 +14,29 @@
     #"${config.xdg.configHome}/OpenTabletDriver"
   ];
   # }}}
-  # {{{ Rust
-  satellite.persistence.at.cache.apps.rust.directories = [
-    ".cargo"
-    ".rustup"
-  ];
+  # {{{ Programming tooling
+  # {{{ Elm
+  satellite.persistence.at.cache.apps.elm.directories = [ ".elm" ];
   # }}}
-  # {{{ Purescript
-  satellite.persistence.at.cache.apps.purescript.directories = [
-    "${config.xdg.dataHome}/purescript"
-    "${config.xdg.cacheHome}/spago"
+  # {{{ Fly.io
+  satellite.persistence.at.state.apps.fly-io.directories = [ ".fly" ];
+  # }}}
+  # {{{ Haskell
+  satellite.persistence.at.cache.apps.haskell.directories = [
+    ".ghc"
+    ".stack"
+    ".local/state/cabal"
+    "${config.xdg.cacheHome}/stack"
+    "${config.xdg.cacheHome}/ghcide"
+    "${config.xdg.cacheHome}/cabal"
   ];
   # }}}
   # {{{ Nodejs
   satellite.persistence.at.cache.apps.nodejs = {
     files = [
-      # Yarn auto-generated file
-      ".yarnrc"
+      ".yarnrc" # auto-generated by yarn
+      ".node_repl_history"
+      ".ts_node_repl_history"
     ];
 
     directories = [
@@ -48,11 +54,34 @@
     ];
   };
   # }}}
-  # {{{ SSH
-  satellite.persistence.at.state.apps.Ssh.directories = [
-    #  ".ssh"
+  # {{{ Purescript
+  satellite.persistence.at.cache.apps.purescript.directories = [
+    "${config.xdg.dataHome}/purescript"
+    "${config.xdg.cacheHome}/spago"
   ];
   # }}}
+  # {{{ Python
+  satellite.persistence.at.cache.apps.python = {
+    files = [
+      ".python_history"
+    ];
+
+    directories = [
+      ".ipython"
+      ".jupyter"
+      "${config.xdg.dataHome}/jupyter"
+      "${config.xdg.cacheHome}/pip"
+    ];
+  };
+  # }}}
+  # {{{ Rust
+  satellite.persistence.at.cache.apps.rust.directories = [
+    ".cargo"
+    ".rustup"
+  ];
+  # }}}
+  # }}}
+  # {{{ Desktop apps
   # {{{ QBittorrent
   satellite.persistence.at.state.apps.QBittorrent.directories = [
     "${config.xdg.configHome}/qBittorrent" # Config options
@@ -95,4 +124,5 @@
   # {{{ Wine
   satellite.persistence.at.state.apps.Wine.directories = [ ".wine" ];
   # }}}
+  # }}}
 }