about summary refs log tree commit diff
path: root/users/glittershark/system/home/modules/lib/cloneRepo.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/glittershark/system/home/modules/lib/cloneRepo.nix')
-rw-r--r--users/glittershark/system/home/modules/lib/cloneRepo.nix67
1 files changed, 0 insertions, 67 deletions
diff --git a/users/glittershark/system/home/modules/lib/cloneRepo.nix b/users/glittershark/system/home/modules/lib/cloneRepo.nix
deleted file mode 100644
index dc487dc6bd..0000000000
--- a/users/glittershark/system/home/modules/lib/cloneRepo.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ lib, config, ... }:
-with lib;
-{
-  options = {
-    grfn.impure.clonedRepos = mkOption {
-      description = "Repositories to clone";
-      default = {};
-      type = with types; loaOf (
-        let sm = submodule {
-          options = {
-            url = mkOption {
-              type = nullOr str;
-              description = "URL of repository to clone";
-              default = null;
-            };
-
-            github = mkOption {
-              type = nullOr str;
-              description = "Github owner/repo of repository to clone";
-              default = null;
-            };
-
-            path = mkOption {
-              type = str;
-              description = "Path to clone to";
-            };
-
-            onClone = mkOption {
-              type = str;
-              description = ''
-                Shell command to run after cloning the repo for the first time.
-                Runs inside the repo itself.
-              '';
-              default = "";
-            };
-
-            after = mkOption {
-              type = listOf str;
-              description = "Activation hooks that this repository must be cloned after";
-              default = [];
-            };
-          };
-        };
-        in addCheck sm (cr: (! isNull cr.url || ! isNull cr.github))
-      );
-    };
-  };
-
-  config = {
-    home.activation =
-      mapAttrs
-      (_: {
-        url, path, github, onClone, after, ...
-      }:
-        let repoURL = if isNull url then "git@github.com:${github}" else url;
-        in hm.dag.entryAfter (["writeBoundary"] ++ after) ''
-          $DRY_RUN_CMD mkdir -p $(dirname "${path}")
-          if [[ ! -d ${path} ]]; then
-            $DRY_RUN_CMD git clone "${repoURL}" "${path}"
-            pushd ${path}
-            $DRY_RUN_CMD ${onClone}
-            popd
-          fi
-        '')
-      config.grfn.impure.clonedRepos;
-  };
-}