feat: add dotfiles module
parent
abb51a37e1
commit
eecda09287
@ -0,0 +1 @@
|
||||
.terraform*
|
@ -0,0 +1,16 @@
|
||||
---
|
||||
display_name: Dotfiles
|
||||
description: Allow developers to optionally bring their own dotfiles repository to customize their shell and IDE settings!
|
||||
icon: ../.icons/personalize.svg
|
||||
maintainer_github: coder
|
||||
verified: true
|
||||
tags: [helper]
|
||||
---
|
||||
|
||||
# Dotfiles
|
||||
|
||||
Allow developers to optionally bring their own [dotfiles repository](https://dotfiles.github.io)! Under the hood, this module uses the [coder dotfiles](https://coder.com/docs/v2/latest/dotfiles) command.
|
||||
|
||||
TODO:
|
||||
|
||||
- [ ] Test it
|
@ -0,0 +1,37 @@
|
||||
terraform {
|
||||
required_version = ">= 1.0"
|
||||
|
||||
required_providers {
|
||||
coder = {
|
||||
source = "coder/coder"
|
||||
version = ">= 0.12"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
variable "agent_id" {
|
||||
type = string
|
||||
description = "The ID of a Coder agent."
|
||||
}
|
||||
|
||||
data "coder_parameter" "dotfiles_uri" {
|
||||
type = "string"
|
||||
display_name = "Dotfiles URL (optional)"
|
||||
default = ""
|
||||
description = "Enter a URL for a [dotfiles repository](https://dotfiles.github.io) to personalize your workspace"
|
||||
mutable = true
|
||||
icon = "https://raw.githubusercontent.com/jglovier/dotfiles-logo/main/dotfiles-logo-icon.svg"
|
||||
}
|
||||
|
||||
resource "coder_script" "personalize" {
|
||||
agent_id = var.agent_id
|
||||
script =<<-EOT
|
||||
DOTFILES_URI="${data.coder_parameter.dotfiles_uri.value}"
|
||||
if [ -n "$${DOTFILES_URI// }" ]; then
|
||||
coder dotfiles "$DOTFILES_URI" -y 2>&1 | tee -a ~/.dotfiles.log
|
||||
fi
|
||||
EOT
|
||||
display_name = "Dotfiles"
|
||||
icon = "https://raw.githubusercontent.com/jglovier/dotfiles-logo/main/dotfiles-logo-icon.svg"
|
||||
run_on_start = true
|
||||
}
|
Loading…
Reference in New Issue