PixelArch OS
PixelArch OS: A Docker-Optimized Arch Linux Distribution
PixelArch OS is a lightweight and efficient Arch Linux distribution designed for containerized environments. It provides a streamlined platform for developing, deploying, and managing Docker-based workflows.
Key Features:
- Arch-Based: Built on the foundation of Arch Linux, known for its flexibility and extensive package selection.
- Docker-Optimized: Tailored for efficient Docker usage, allowing for seamless integration with your containerized workflows.
- Frequent Updates: Regularly receives security and performance updates, ensuring a secure and up-to-date environment.
- Package Management: Utilizes the powerful yay package manager alongside the traditional pacman, providing a flexible and efficient way to manage software packages.
- Minimal Footprint: Designed to be lightweight and resource-efficient, ideal for running in Docker containers.
PixelArch Flavors: A Tiered Approach
PixelArch is offered in nine layers, with each flavor building on the previous one. The package lists below show what each tier adds.
Level 1: Quartz
The foundation: a minimal base system providing a clean slate for your specific needs.
Level 2: Obsidian
Adds the core utility layer:
curlwgettarxzzipunziptreenanololcat
Level 3: Lapis
Adds the shell and terminal workflow layer:
zshfishtmuxbash-completionzsh-completionsstarship
Level 4: Amethyst
Adds the editor, search, and container workflow layer:
neovimripgrepjqfastfetchdockerdocker-compose
Level 5: Citrine
Adds the Python and build tooling layer:
pythonpython-pippython-pyfigletpython-virtualenvuvgcc
Level 6: Topaz
Adds the Node.js layer:
nodejsnpmnvmbun
Level 7: Sapphire
Adds the Rust and compatibility layer:
rustwinexorg-server-xvfb
Level 8: Ruby
Adds the remote access, privacy, and text browsing layer:
opensshtmatetortorsockstorbrowser-launcherlynx
Level 9: Emerald
Adds the LLM agents and developer CLI layer:
gemini-cliclaude-codeopenai-codexgithub-copilot-cligithub-cli
Getting Started
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:quartz -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:obsidian -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:lapis -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:amethyst -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:citrine -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:topaz -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:sapphire -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:ruby -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
- Step 1. Setup the OS (
distrobox create -i lunamidori5/pixelarch:emerald -n PixelArch --root) - Step 2. Enter the OS (
distrobox enter PixelArch --root)
1. Create a docker-compose.yaml
Pick a flavor and create a docker-compose.yaml with the matching image tag:
services:
pixelarch-os:
image: lunamidori5/pixelarch:quartz
tty: true
restart: always
privileged: false
command: ["sleep", "infinity"]services:
pixelarch-os:
image: lunamidori5/pixelarch:obsidian
tty: true
restart: always
privileged: false
command: ["sleep", "infinity"]services:
pixelarch-os:
image: lunamidori5/pixelarch:lapis
tty: true
restart: always
privileged: false
command: ["sleep", "infinity"]services:
pixelarch-os:
image: lunamidori5/pixelarch:amethyst
tty: true
restart: always
privileged: true
command: ["sleep", "infinity"]
volumes:
- /var/run/docker.sock:/var/run/docker.sockservices:
pixelarch-os:
image: lunamidori5/pixelarch:citrine
tty: true
restart: always
privileged: true
command: ["sleep", "infinity"]
volumes:
- /var/run/docker.sock:/var/run/docker.sockservices:
pixelarch-os:
image: lunamidori5/pixelarch:topaz
tty: true
restart: always
privileged: true
command: ["sleep", "infinity"]
volumes:
- /var/run/docker.sock:/var/run/docker.sockservices:
pixelarch-os:
image: lunamidori5/pixelarch:sapphire
tty: true
restart: always
privileged: true
command: ["sleep", "infinity"]
volumes:
- /var/run/docker.sock:/var/run/docker.sockservices:
pixelarch-os:
image: lunamidori5/pixelarch:ruby
tty: true
restart: always
privileged: true
command: ["sleep", "infinity"]
volumes:
- /var/run/docker.sock:/var/run/docker.sockservices:
pixelarch-os:
image: lunamidori5/pixelarch:emerald
tty: true
restart: always
privileged: true
command: ["sleep", "infinity"]
volumes:
- /var/run/docker.sock:/var/run/docker.sock2. Start the container in detached mode
docker compose up -d3. Access the container shell
docker compose exec pixelarch-os /bin/bashMidori AI recommends switching to Linux instead of Windows. If you still want to use PixelArch in WSL2, follow the steps below. No Windows-specific support is provided.
1. Setup the docker image
docker run -t --name wsl_export lunamidori5/pixelarch:quartz ls /2. Export the PixelArch filesystem from docker
docker export wsl_export > /mnt/c/temp/pixelarch.tar3. Clean up the docker image
docker rm wsl_export4. Import PixelArch into WSL
cd C:\\temp
mkdir E:\\wslDistroStorage\\pixelarch
wsl --import Pixelarch E:\\wslDistroStorage\\pixelarch .\\pixelarch.tar1. Use PixelArch shell
docker run -it --rm lunamidori5/pixelarch:quartz /bin/bashdocker run -it --rm lunamidori5/pixelarch:obsidian /bin/bashdocker run -it --rm lunamidori5/pixelarch:lapis /bin/bashdocker run -it --rm lunamidori5/pixelarch:amethyst /bin/bashdocker run -it --rm lunamidori5/pixelarch:citrine /bin/bashdocker run -it --rm lunamidori5/pixelarch:topaz /bin/bashdocker run -it --rm lunamidori5/pixelarch:sapphire /bin/bashdocker run -it --rm lunamidori5/pixelarch:ruby /bin/bashdocker run -it --rm lunamidori5/pixelarch:emerald /bin/bashPackage Management
Use the yay package manager to install and update software:
yay -Syu <package_name>Example:
yay -Syu vimThis will install or update the vim text editor.
Note:
- Replace
<package_name>with the actual name of the package you want to install or update. - The
-Syuflag performs a full system update, including package updates and dependencies.
Support and Assistance
If you encounter any issues or require further assistance, please feel free to reach out through the following channels:
- Midori AI Discord: https://discord.gg/xdgCx3VyHU
- Midori AI Email: Email Us
