Skip to content

Commit 36f7d0e

Browse files
committed
init + dc-init
0 parents  commit 36f7d0e

28 files changed

Lines changed: 4568 additions & 0 deletions

β€Ž.devcontainer/README.mdβ€Ž

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Container Configuration
2+
3+
## Metadata
4+
- **Category**: `art`
5+
- **Type**: `Pre-built image`
6+
- **Container Name**: `.`
7+
8+
## Generated Instructions
9+
10+
1. Download the latest dev-control release tag (latest):
11+
12+
`gh release download latest --repo XAOSTECH/dev-control`
13+
14+
Or download directly (no gh required):
15+
16+
https://github.com/XAOSTECH/dev-control/releases/tag/latest
17+
18+
2. Load aliases (includes dc-contain):
19+
20+
`source ./scripts/alias-loading.sh`
21+
22+
3. Build a base image (example):
23+
24+
`dc-contain --base --art --defaults`
25+
`dc-contain --base --art` # interactive config
26+
27+
4. Run the script directly (same example):
28+
29+
`./scripts/containerise.sh --base --art --defaults`
30+
31+
5. Generate an image-based devcontainer (example):
32+
33+
`dc-contain --img --art`
34+
35+
## About
36+
37+
This devcontainer uses a pre-built dev-control category image.
38+
**Base Image:** `devcontrol/art:latest`
39+
40+
This folder is generated from a base image. The usual flow is:
41+
42+
- Build the base image in a parent folder
43+
- Then generate this image-based devcontainer using `--img`
44+
45+
**Features:** 2D/3D art tools: Krita, GIMP, Inkscape, Blender, ImageMagick
46+
47+
**Build source:** https://github.com/xaostech/dev-control/tree/main/.devcontainer/art
48+
49+
## Files
50+
51+
- **devcontainer.json** - Your personal VS Code devcontainer configuration (gitignored)
52+
- **Dockerfile** - Your personal container image definition (gitignored)
53+
- **.dockerignore** - Files to exclude from build context
54+
- **README.md** - This file
55+
- **devcontainer_example.json** - Tracked reference with placeholder values
56+
- **Dockerfile_example** - Tracked reference Dockerfile
57+
- **devcontainer_minimal.json** - Tracked minimal configuration
58+
- **Dockerfile_minimal** - Tracked minimal Dockerfile
59+
60+
## Usage
61+
62+
1. Open this project in VS Code
63+
2. Press `F1` and run: `Dev Containers: Reopen in Container`
64+
3. The container will build and you'll work inside it
65+
66+
## Customisation
67+
68+
Edit `devcontainer.json` or `Dockerfile` to customise:
69+
- Installed tools and libraries
70+
- Environment variables
71+
- VSCode extensions
72+
- Mount points and volumes
73+
74+
For more information, see the Dev Containers docs:
75+
https://code.visualstudio.com/docs/devcontainers/containers
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"name": "DES",
3+
"image": "devcontrol/art:latest",
4+
"remoteUser": "art",
5+
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/DES,type=bind,consistency=cached",
6+
"workspaceFolder": "/workspaces/DES",
7+
"runArgs": [
8+
"--shm-size=1g","--device=/dev/dri","--device=/dev/nvidia0","--device=/dev/nvidiactl","--device=/dev/nvidia-modeset","--device=/dev/nvidia-uvm","--device=/dev/nvidia-uvm-tools"
9+
],
10+
"mounts": [
11+
"source=/run/user/1000/podman/podman.sock,target=/var/run/docker.sock,type=bind","source=${localEnv:HOME}/.config/gh,target=/home/art/.config/gh,type=bind,consistency=cached","source=${localEnv:XDG_RUNTIME_DIR}/${localEnv:WAYLAND_DISPLAY},target=/tmp/wayland-0,type=bind,readonly","source=/run/user/1000/wayland-0.lock,target=/tmp/wayland-0.lock,type=bind","source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind","source=/usr/lib/x86_64-linux-gnu/libcuda.so.1,target=/usr/lib/x86_64-linux-gnu/libcuda.so.1,type=bind,readonly","source=/usr/lib/x86_64-linux-gnu/libnvcuvid.so.1,target=/usr/lib/x86_64-linux-gnu/libnvcuvid.so.1,type=bind,readonly"
12+
],
13+
"containerEnv": {
14+
"GPG_KEY_ID": "YOUR_GPG_KEY_ID",
15+
"GITHUB_USER": "YOUR_GITHUB_USER",
16+
"DOCKER_HOST": "unix:///var/run/docker.sock",
17+
"DISPLAY": "${localEnv:DISPLAY}",
18+
"TZ": "Europe/Brussels",
19+
"NVIDIA_VISIBLE_DEVICES": "all",
20+
"NVIDIA_DRIVER_CAPABILITIES": "compute,video,utility",
21+
"__NV_PRIME_RENDER_OFFLOAD": "1",
22+
"__GLX_VENDOR_LIBRARY_NAME": "nvidia",
23+
"WAYLAND_DISPLAY": "wayland-0",
24+
"XDG_RUNTIME_DIR": "/tmp"
25+
},
26+
"postCreateCommand": "sudo chown -R 1000:1000 . 2>/dev/null || true && sudo chmod 755 /home/art 2>/dev/null || true && sudo chown -R 1000:1000 /home/art/.vscode-server 2>/dev/null || true && sudo mkdir -p /home/art/.gnupg /home/art/.ssh /home/art/.cache /home/art/.config && sudo chown 1000:1000 /home/art/.gnupg /home/art/.ssh /home/art/.cache /home/art/.config && sudo chmod 700 /home/art/.gnupg /home/art/.ssh && sudo chmod 755 /home/art/.cache /home/art/.config && sudo mkdir -p /run/user/1000/gnupg && sudo chown -R 1000:1000 /run/user/1000 2>/dev/null || true && ln -sf /tmp/wayland-0 /run/user/1000/wayland-0 2>/dev/null || true && git config --global --add safe.directory '*' && git config --global init.defaultBranch main && git config --global user.email YOUR_GITHUB_EMAIL && git config --global user.name YOUR_GITHUB_USER && git config --global commit.gpgsign true && git config --global user.signingkey YOUR_GPG_KEY_ID && git config --global gpg.program gpg && bash -c 'bash /opt/dev-control/scripts/alias-loading.sh <<< A'",
27+
"customizations": {
28+
"vscode": {
29+
"settings": {
30+
"terminal.integrated.cwd": "/workspaces/DES",
31+
"git.enableSmartCommit": true,
32+
"git.autofetch": true
33+
},
34+
"extensions": [
35+
"github.copilot","github.copilot-chat"
36+
]
37+
}
38+
}
39+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"name": "DES",
3+
"image": "devcontrol/art:latest",
4+
"remoteUser": "art",
5+
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/DES,type=bind,consistency=cached",
6+
"workspaceFolder": "/workspaces/DES",
7+
"runArgs": [
8+
"--shm-size=1g","--device=/dev/dri","--device=/dev/nvidia0","--device=/dev/nvidiactl","--device=/dev/nvidia-modeset","--device=/dev/nvidia-uvm","--device=/dev/nvidia-uvm-tools"
9+
],
10+
"mounts": [
11+
"source=/run/user/1000/podman/podman.sock,target=/var/run/docker.sock,type=bind","source=${localEnv:XDG_RUNTIME_DIR}/${localEnv:WAYLAND_DISPLAY},target=/tmp/wayland-0,type=bind,readonly","source=/run/user/1000/wayland-0.lock,target=/tmp/wayland-0.lock,type=bind","source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind","source=/usr/lib/x86_64-linux-gnu/libcuda.so.1,target=/usr/lib/x86_64-linux-gnu/libcuda.so.1,type=bind,readonly","source=/usr/lib/x86_64-linux-gnu/libnvcuvid.so.1,target=/usr/lib/x86_64-linux-gnu/libnvcuvid.so.1,type=bind,readonly"
12+
],
13+
"containerEnv": {
14+
"GPG_KEY_ID": "",
15+
"GITHUB_USER": "",
16+
"DOCKER_HOST": "unix:///var/run/docker.sock",
17+
"DISPLAY": "${localEnv:DISPLAY}",
18+
"TZ": "Europe/Brussels",
19+
"NVIDIA_VISIBLE_DEVICES": "all",
20+
"NVIDIA_DRIVER_CAPABILITIES": "compute,video,utility",
21+
"__NV_PRIME_RENDER_OFFLOAD": "1",
22+
"__GLX_VENDOR_LIBRARY_NAME": "nvidia",
23+
"WAYLAND_DISPLAY": "wayland-0",
24+
"XDG_RUNTIME_DIR": "/tmp"
25+
},
26+
"postCreateCommand": "sudo chown -R 1000:1000 . 2>/dev/null || true && sudo chmod 755 /home/art 2>/dev/null || true && sudo chown -R 1000:1000 /home/art/.vscode-server 2>/dev/null || true && sudo mkdir -p /home/art/.gnupg /home/art/.ssh /home/art/.cache /home/art/.config && sudo chown 1000:1000 /home/art/.gnupg /home/art/.ssh /home/art/.cache /home/art/.config && sudo chmod 700 /home/art/.gnupg /home/art/.ssh && sudo chmod 755 /home/art/.cache /home/art/.config && sudo mkdir -p /run/user/1000/gnupg && sudo chown -R 1000:1000 /run/user/1000 2>/dev/null || true && ln -sf /tmp/wayland-0 /run/user/1000/wayland-0 2>/dev/null || true && git config --global --add safe.directory '*' && git config --global init.defaultBranch main && bash -c 'bash /opt/dev-control/scripts/alias-loading.sh <<< A'",
27+
"customizations": {
28+
"vscode": {
29+
"settings": {
30+
"terminal.integrated.cwd": "/workspaces/DES",
31+
"git.enableSmartCommit": true,
32+
"git.autofetch": true
33+
},
34+
"extensions": [
35+
"github.copilot","github.copilot-chat"
36+
]
37+
}
38+
}
39+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## πŸ› Bug Description
10+
11+
A clear and concise description of what the bug is.
12+
13+
## πŸ“‹ Steps to Reproduce
14+
15+
1. Go to '...'
16+
2. Run command '...'
17+
3. See error
18+
19+
## βœ… Expected Behaviour
20+
21+
A clear and concise description of what you expected to happen.
22+
23+
## ❌ Actual Behaviour
24+
25+
What actually happened instead.
26+
27+
## πŸ–₯️ Environment
28+
29+
- **OS**: [e.g., Ubuntu 22.04, macOS 14.0]
30+
- **Shell**: [e.g., bash 5.1, zsh 5.9]
31+
- **Version**: [e.g., v1.0.0, commit abc123]
32+
33+
## πŸ“Έ Screenshots / Logs
34+
35+
If applicable, add screenshots or terminal output to help explain your problem.
36+
37+
```
38+
Paste relevant logs here
39+
```
40+
41+
## πŸ“ Additional Context
42+
43+
Add any other context about the problem here.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: πŸ’¬ Discussions
4+
url: https://github.com/XAOSTECH/design-tools/discussions
5+
about: Ask questions and discuss ideas
6+
- name: πŸ“– Documentation
7+
url: https://github.com/XAOSTECH/design-tools#readme
8+
about: Read the documentation
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## πŸš€ Feature Description
10+
11+
A clear and concise description of the feature you'd like.
12+
13+
## πŸ’‘ Problem / Motivation
14+
15+
What problem does this solve? Why is this feature needed?
16+
17+
## πŸ“‹ Proposed Solution
18+
19+
Describe the solution you'd like to see implemented.
20+
21+
## πŸ”„ Alternatives Considered
22+
23+
A clear and concise description of any alternative solutions or features you've considered.
24+
25+
## πŸ“ Additional Context
26+
27+
Add any other context, mockups, or examples about the feature request here.
28+
29+
## βœ… Acceptance Criteria
30+
31+
- [ ] Criteria 1
32+
- [ ] Criteria 2
33+
- [ ] Criteria 3
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
## πŸ“‹ Description
2+
3+
Brief description of the changes in this PR.
4+
5+
## πŸ”— Related Issue
6+
7+
Fixes #(issue number)
8+
9+
## πŸ”„ Type of Change
10+
11+
- [ ] πŸ› Bug fix (non-breaking change which fixes an issue)
12+
- [ ] ✨ New feature (non-breaking change which adds functionality)
13+
- [ ] πŸ’₯ Breaking change (fix or feature that would cause existing functionality to not work as expected)
14+
- [ ] πŸ“š Documentation update
15+
- [ ] πŸ”§ Refactoring (no functional changes)
16+
- [ ] πŸ§ͺ Tests (adding or updating tests)
17+
18+
## βœ… Checklist
19+
20+
- [ ] My code follows the project's style guidelines
21+
- [ ] I have performed a self-review of my code
22+
- [ ] I have commented my code, particularly in hard-to-understand areas
23+
- [ ] I have made corresponding changes to the documentation
24+
- [ ] My changes generate no new warnings
25+
- [ ] I have tested my changes locally
26+
27+
## πŸ§ͺ How Has This Been Tested?
28+
29+
Describe the tests you ran to verify your changes.
30+
31+
```bash
32+
# Example test commands
33+
```
34+
35+
## πŸ“Έ Screenshots (if applicable)
36+
37+
Add screenshots to help explain your changes.
38+
39+
## πŸ“ Additional Notes
40+
41+
Any additional information that reviewers should know.

0 commit comments

Comments
Β (0)