Skip to content

Distrobox

Distrobox

Creamos un workspace

bash
mkdir -p ~/my-workspace

Ingresamos al workspace

bash
cd ~/my-workspace

Creamos carpetas de organización

bash
mkdir -p {projects,config,data,scripts}

Creamos un archivo de configuración para el workspace (arch y docker como ejemplo)

bash
cat > distrobox.ini << 'EOF'
[my-workspace]
image=archlinux:latest
container_manager=docker
pull=true

home=/home/$USER/my-workspace

init=true
start_now=false
EOF

Levantar el workspace

bash
distrobox assemble create --file distrobox.ini

Entrar al workspace

bash
distrobox enter my-workspace

Configurando el workspace

Creamos el siguiente script de instalación para tener las herramientas generales necesarias

bash
cat > scripts/setup-arch.sh << 'EOF'
#!/bin/bash
set -e

echo "🔧 Configurando Arch Linux (solo esencial)..."

echo "Actualizando sistema..."
sudo pacman -Syu --noconfirm

echo "Instalando paquetes esenciales..."
sudo pacman -S --noconfirm --needed \
    base-devel \
    git \
    curl \
    wget \
    vim \
    nano \
    htop \
    tmux \
    tree \
    unzip \
    zip

sudo pacman -Sc --noconfirm

echo "✅ Setup básico completado"
echo ""
echo "Paquetes instalados:"
echo "  - base-devel (compiladores, make, etc)"
echo "  - git, curl, wget"
echo "  - vim, nano"
echo "  - htop, tmux, tree"
echo "  - unzip, zip"
echo ""
echo "Siguiente paso: ./scripts/install-node.sh"
EOF

Le damos permisos de ejecución al script

bash
chmod +x scripts/setup-arch.sh

Refrescamos el bashrc

bash
source ~/.bashrc

Ejecutamos el script

bash
./scripts/setup-arch.sh

Creando workspace Nodejs

bash
cat > scripts/install-node.sh << 'EOF'
#!/bin/bash
set -e

echo "📦 Instalando fnm (Fast Node Manager)..."

if [ ! -d "$HOME/my-workspace/.local/share/fnm" ]; then
    echo "Descargando e instalando fnm..."
    curl -fsSL https://fnm.vercel.app/install | bash
    echo "✅ fnm instalado"
else
    echo "✅ fnm ya está instalado"
fi

echo "Configurando fnm en ~/.bashrc..."
if ! grep -q "fnm env" ~/.bashrc; then
    echo '' >> ~/.bashrc
    echo '# fnm (Fast Node Manager)' >> ~/.bashrc
    echo 'eval "$(fnm env --use-on-cd)"' >> ~/.bashrc
    echo "✅ fnm configurado en .bashrc"
else
    echo "✅ fnm ya está configurado en .bashrc"
fi

echo ""
echo "✅ fnm instalado correctamente"
echo ""
echo "Comandos útiles:"
echo "  fnm list-remote      # Ver versiones disponibles"
echo "  fnm install 24.13.0  # Instalar versión específica"
echo "  fnm install --lts    # Instalar LTS"
echo "  fnm use 24.13.0      # Usar versión"
echo "  fnm default 24.13.0  # Setear como default"
echo "  fnm list             # Ver versiones instaladas"
echo ""
EOF

Le damos permisos de ejecución al script

bash
chmod +x scripts/install-node.sh

Refrescamos el bashrc

bash
source ~/.bashrc

Ejecutamos el script

bash
./scripts/install-node.sh

Instalación de un cliente Distrobox

Distrobox por si solo no ofrece una interfaz gráfica para ejecutar sus aplicaciones, para eso instalaremos DistroShelf

DistroShelf

Con flathub

bash
flatpak install com.ranfdev.DistroShelf

Buscamos DistroShelf en la appstore

Seleccionamos el workspace creado y listo