基于 Docker + Debian 13(trixie-slim)+ Nix 的容器内开发环境
286
基于 Docker + trixie-slim(13) + Nix 的容器内开发环境
openssh-server
xz-utils
curl
wget
tree
make
git
vim
docker
unzip
gzip
jq
Rust
Go
NodeJS
uv
EXTS="zoxide hugo skopeo"
for ext in $EXTS; do curl -L "s.fx4.cn/$ext" | bash; done
compose.ymlservices:
devenv:
image: jetsung/devenv:latest
container_name: devenv
hostname: devenv
restart: unless-stopped
privileged: true
env_file:
- ./.env
# - ./cn.env
ports:
- ${SSH_PORT:-32222}:32222
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${HOME:-/srv}/workspaces:/workspaces
- ./data/.ssh:/root/.ssh
- ./data/.vscode-server:/root/.vscode-server
.envTZ=Asia/Shanghai
SSH_PORT=32222
cn.env## uv
UV_DEFAULT_INDEX=https://mirrors.aliyun.com/pypi/simple/
## rust
RUSTUP_DIST_SERVER=https://rsproxy.cn
RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup
## nodejs
NVM_NODEJS_ORG_MIRROR=https://mirrors.ustc.edu.cn/node/
NODE_MIRROR=https://mirrors.ustc.edu.cn/node/
## go
GOPROXY=https://goproxy.cn,https://goproxy.io,direct
外部文件 compose.yml
TZ=Asia/Shanghai
容器内设置
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 预览构建信息
docker buildx bake --print
# 执行构建
docker buildx bake
测试
docker run --rm -it devenv:local bash
# 容器内执行
dev
# 依次执行
go version
uv --version
rustup default stable
# 安装全局 Python
uv python install --default
vi /etc/nix/devflake/flake.nix
# 向 “buildInputs = with pkgs; [ " 内添加软件
vi /etc/nix/devflake/flake.nix
# 在 shellHook = '' 内添加环境变量
Content type
Image
Digest
sha256:7ba2633ce…
Size
417.7 MB
Last updated
about 1 year ago
docker pull jetsung/devenv