Skip to content

Commit 7266199

Browse files
committed
MiOSv0.2.0 - System Root FHS Overlay
1 parent 8536992 commit 7266199

2 files changed

Lines changed: 15 additions & 11 deletions

File tree

.devcontainer/Dockerfile

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
FROM fedora:latest
22

3-
# 1. Install MiOS Toolchain + Upstream Packages
4-
RUN dnf install -y just fastfetch btop podman buildah skopeo jq yq rsync git nodejs npm sudo zsh findutils grep sed gawk policycoreutils && dnf clean all
3+
# 1. Install MiOS Toolchain + System Components
4+
RUN dnf install -y just fastfetch btop podman buildah skopeo jq yq rsync git nodejs npm sudo zsh findutils grep sed gawk policycoreutils util-linux && dnf clean all
55

6-
# 2. Install Gemini CLI to root
6+
# 2. Install Gemini CLI to root (standard system path)
77
RUN npm install -g @google/gemini-cli
88

99
# 3. Setup MiOS Development User
10-
RUN useradd -m -s /usr/bin/zsh mios-dev && echo "mios-dev ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/mios-dev
10+
# We use UID 1000 to match common host users for bind-mount permissions
11+
RUN useradd -m -u 1000 -s /usr/bin/zsh mios-dev && echo "mios-dev ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/mios-dev
1112

12-
# 4. Mirror MiOS Pattern: Working Directory is the repository root
13-
WORKDIR /mios
14-
USER mios-dev
15-
16-
# 5. Environment Metadata
13+
# 4. Environment Metadata
1714
ENV MIOS_DEVCONTAINER=1
1815
ENV MIOS_VERSION=0.2.0
1916

17+
# 5. Prepare system for overlay concept
18+
# Create mount points if they do not exist
19+
RUN mkdir -p /mios /srv /var/home /usr/local
20+
21+
WORKDIR /mios
22+
USER mios-dev
2023
CMD ["/usr/bin/zsh"]

.devcontainer/devcontainer.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "MiOS Development Environment",
2+
"name": "MiOS System Root Dev (v0.2.0)",
33
"build": {
44
"dockerfile": "Dockerfile",
55
"context": ".."
@@ -29,5 +29,6 @@
2929
"workspaceFolder": "/mios",
3030
"mounts": [
3131
"source=${localWorkspaceFolder},target=/mios,type=bind,consistency=cached"
32-
]
32+
],
33+
"postCreateCommand": "sudo /usr/bin/zsh -c \"echo \\"Applying MiOS FHS Symlink Overlay...\\"; ln -sf /mios/.git /.git; for dir in etc usr var srv home; do if [ -d /mios/\$dir ]; then echo \\" Merging /mios/\$dir -> /\$dir\\"; cp -as /mios/\$dir/* /\$dir/ 2>/dev/null || true; fi; done; echo \\"\\u2713 MiOS Root Overlay Active\\"\""
3334
}

0 commit comments

Comments
 (0)