2024-04-24 19:01:04 +02:00
|
|
|
{...}: {
|
|
|
|
|
locals."git_repo_folder" = let
|
|
|
|
|
split_repo = ''split("/", data.coder_parameter.git_repo.value)'';
|
2024-04-26 21:19:57 +02:00
|
|
|
in ''''${try(element(${split_repo}, length(${split_repo}) - 1), "")}'';
|
2024-04-24 19:01:04 +02:00
|
|
|
|
|
|
|
|
data = {
|
|
|
|
|
coder_external_auth."gitlab" = {
|
|
|
|
|
id = "gitlab";
|
|
|
|
|
optional = false;
|
|
|
|
|
};
|
|
|
|
|
coder_workspace."me" = {};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
resource = {
|
|
|
|
|
coder_agent."coder" = {
|
|
|
|
|
arch = "\${var.arch}";
|
|
|
|
|
os = "linux";
|
|
|
|
|
};
|
|
|
|
|
coder_script."git_clone" = {
|
|
|
|
|
agent_id = "\${coder_agent.coder.id}";
|
|
|
|
|
display_name = "Git Clone";
|
|
|
|
|
icon = "/icon/git.svg";
|
|
|
|
|
script = let
|
|
|
|
|
repo = ''''${data.coder_parameter.git_repo.value}'';
|
|
|
|
|
repo_folder = ''''${local.git_repo_folder}'';
|
|
|
|
|
in ''
|
|
|
|
|
mkdir -p ~/repos
|
2024-04-27 21:05:36 +02:00
|
|
|
if [ ! -z "${repo}" ]; then
|
2024-04-27 19:52:11 +02:00
|
|
|
echo "Cloning repo \"${repo}\" if it does not exist"
|
|
|
|
|
pushd ~/repos >/dev/null
|
|
|
|
|
if [[ ! -d "${repo_folder}" ]] then
|
|
|
|
|
git clone ${repo} ${repo_folder}
|
|
|
|
|
fi
|
|
|
|
|
popd >/dev/null
|
|
|
|
|
else
|
|
|
|
|
echo "No git repo specified, skipping..."
|
|
|
|
|
fi
|
2024-04-24 19:01:04 +02:00
|
|
|
'';
|
|
|
|
|
run_on_start = true;
|
|
|
|
|
start_blocks_login = true;
|
|
|
|
|
};
|
2024-04-27 19:52:51 +02:00
|
|
|
coder_script."home-manager" = {
|
|
|
|
|
agent_id = "\${coder_agent.coder.id}";
|
|
|
|
|
display_name = "Home Manager";
|
|
|
|
|
icon = "/emojis/1f3e0.png";
|
|
|
|
|
script = ''
|
2024-04-27 21:05:36 +02:00
|
|
|
if [ ! -z "$DOTFILES_REPO" ]; then
|
2024-04-27 19:52:51 +02:00
|
|
|
echo "Dotfiles present, reloading home-manager profile"
|
|
|
|
|
reload-dotfiles
|
|
|
|
|
else
|
|
|
|
|
echo "No dotfiles repo specified, skipping..."
|
|
|
|
|
fi
|
|
|
|
|
'';
|
|
|
|
|
run_on_start = true;
|
|
|
|
|
start_blocks_login = true;
|
|
|
|
|
};
|
2024-04-24 19:01:04 +02:00
|
|
|
};
|
|
|
|
|
}
|