coder-templates/nix-kubernetes/parameters.nix

112 lines
2.5 KiB
Nix

{...}: {
data.coder_parameter = {
dotfiles_repo = {
name = "Dotfiles Repository (passed to home-manager)";
description = ''
Nix flake URI to your dotfiles repository, eg.
github:example/dotfiles#coder
Your flake.nix has to expose a homeManagerConfiguration.coder in this case.
'';
default = "";
order = 1;
type = "string";
mutable = true;
};
git_repo = {
name = "Git Repository";
description = ''
URI for a git repository which should automatically be cloned to ~/repos/<name>
'';
default = "";
order = 2;
type = "string";
mutable = true;
};
image_tag = {
name = "Image Tag";
description = ''
Which container image tag should be used.
'';
default = "latest";
order = 3;
type = "string";
mutable = true;
};
cpu = {
name = "CPU";
description = ''
CPU Limit for Kubernetes Pod. Kubernetes Notation (eg. 500m)
'';
default = "500m";
order = 4;
type = "string";
mutable = true;
};
memory = {
name = "Memory";
description = ''
Memory Limit for Kubernetes Pod. Kubernetes Notation (eg. 1Gi)
'';
default = "1Gi";
order = 5;
type = "string";
mutable = true;
};
home_disk_size = {
name = "Home Disk Size";
description = ''
Size for the /home PV in GB
'';
default = 5;
order = 6;
type = "number";
mutable = true;
validation = [
{
min = 1;
max = 100;
monotonic = "increasing";
}
];
};
nix_store_disk_size = {
name = "Nix Store Disk Size";
description = ''
Size for the /nix PV in GB. This might grow pretty big.
'';
default = 5;
order = 7;
type = "number";
mutable = true;
validation = [
{
min = 1;
max = 100;
monotonic = "increasing";
}
];
};
timezone = {
name = "Timezone";
description = ''
Content of the TZ environment variable.
'';
default = "";
order = 8;
type = "string";
mutable = true;
};
nix_config = {
name = "Nix Config";
description = ''
Nix config, will be put into $NIX_CONFIG
'';
default = "";
order = 9;
type = "string";
form_type = "textarea";
mutable = true;
};
};
}