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