Files
server-config/containers/server-n0/devenv.nix
T
Floweynt 76fa38e34c
flake-check / flake-check (push) Canceled after 0s
lint / lint (push) Canceled after 0s
diff-tag / dix (push) Canceled after 0s
initial commit
2026-08-31 08:41:45 -05:00

55 lines
1.2 KiB
Nix

{
name,
hostInfo,
dsl,
...
}:
let
inherit (dsl) mkContainer mkService;
inherit (hostInfo.paths) data secrets;
in
mkContainer {
inherit name;
net.access = [ { to = "@internet"; } ];
svc.autoStart = true;
resources.fs = {
"/config" = {
hostPath = "${data}/web/devenv/config";
isReadOnly = false;
};
"/workspace" = {
hostPath = "${data}/web/devenv/workspace";
isReadOnly = false;
};
"/run/secrets/code-server-env" = {
hostPath = "${secrets}/code-server-env";
isReadOnly = true;
};
};
users = [
{
name = "coder";
uid = 1000;
home = "/config";
}
];
service =
{ pkgs, lib, ... }:
mkService {
description = "code-server";
execStart = "${lib.getExe' pkgs.code-server "code-server"} --bind-addr 0.0.0.0:8080 --user-data-dir /config/data --extensions-dir /config/extensions --auth password /workspace";
networkOnline = true;
serviceConfig = {
EnvironmentFile = "/run/secrets/code-server-env";
User = "coder";
ReadWritePaths = [
"/config"
"/workspace"
];
};
};
net.expose.tcp = [ 8080 ];
resources.mem = "4G";
resources.cpu = 2;
}