A utility tool that keeps container layers small by cleaning installation leftovers such as apt lists, caches, and temporary files. Picolayer can install packages using package managers, install executables from GitHub releases, run devcontainer-features, and run programming languages with pkgx.
This project is inspired by nanolayer.
Refer to these examples to integrate the Picolayer feature with existing devcontainer feature builds:
| Feature | Description |
|---|---|
| pkgx | Installs from GitHub repository with checksum verification |
| Lazygit | Installs from a GitHub repository |
| Neovim | Installs from a GitHub repository with asset tag filtering |
| Biome | Installs a NPM package |
| UV | Installs multiple binaries from a GitHub repository |
| Command | Description |
|---|---|
apt-get |
Install Debian/Ubuntu packages |
apk |
Install Alpine packages |
brew |
Install packages using Homebrew |
npm |
Install npm packages (installs Node.js if needed) |
pipx |
Install Python packages in isolated environments (installs pipx if needed) |
gh-release |
Install binaries from GitHub releases |
pkgx |
Execute commands with pkgx |
cargo install --git https://github.com/skevetter/picolayerDownload the latest release from the releases page.
Or download as a one-liner
curl -L https://github.com/skevetter/picolayer/releases/latest/download/picolayer-x86_64-unknown-linux-gnu.tar.gz | tar -xz && chmod +x picolayer && \
./picolayer \
devcontainer-feature \
"ghcr.io/devcontainers-extra/features/bash-command:1" \
--option command="curl https://pkgx.sh | sh"| Package Manager | Command |
|---|---|
| Apt-get | picolayer apt-get cowsay |
| Apt | picolayer apt cowsay |
| Aptitude | picolayer aptitude cowsay |
| Apk | picolayer apk cowsay |
| Homebrew | picolayer brew cowsay |
| Npm | picolayer npm cowsay |
| Pipx | picolayer pipx cowsay |
| GitHub releases | picolayer gh-release --owner pkgxdev --repo pkgx --version latest |
| Pkgx | picolayer pkgx --tool python -- -c "print('Hello World')" |