Un gestionnaire d'environnements Arch Linux isolés, permettant de créer et gérer facilement des environnements de développement ou de test séparés.
Arch-Shell est un outil de gestion d'environnements Arch Linux qui utilise arch-nspawn pour créer des espaces de noms isolés. Il permet de :
- 🏗️ Créer des environnements Arch Linux propres et isolés
- 📦 Installer des paquets dans des environnements spécifiques
- 🚀 Entrer dans un environnement pour le développement ou les tests
- 📊 Gérer plusieurs environnements simultanément
- 🗑️ Supprimer facilement des environnements obsolètes
- Arch Linux ou dérivé
devtoolsinstallé (sudo pacman -S devtools)- Privilèges sudo
jq(optionnel, pour un meilleur affichage des informations)
# Avec yay
yay -S arch-shell
# Avec paru
paru -S arch-shell# Télécharger directement le script depuis la dernière release
curl -L -o arch-shell https://github.com/0xbbuddha/arch-shell/releases/latest/download/arch-shell
sudo mv arch-shell /usr/local/bin/arch-shell
sudo chmod +x /usr/local/bin/arch-shell# Télécharger l'archive
wget https://github.com/0xbbuddha/arch-shell/releases/latest/download/arch-shell-v0.1.3.tar.gz
tar -xzf arch-shell-v0.1.3.tar.gz
sudo cp arch-shell /usr/local/bin/arch-shell
sudo chmod +x /usr/local/bin/arch-shellgit clone https://github.com/0xbbuddha/arch-shell.git
cd arch-shell
sudo cp arch-shell /usr/local/bin/arch-shell
sudo chmod +x /usr/local/bin/arch-shellAvant la première utilisation, initialisez le template de base :
arch-shell initarch-shell create mon-envarch-shell -S mon-env gcc make cmakearch-shell enter mon-envarch-shell listarch-shell info mon-envarch-shell delete mon-envarch-shell regen-basearch-shell init # Initialise le template de base
arch-shell regen-base # Régénère le template de base
arch-shell create <env> # Crée un nouvel environnement
arch-shell -S <env> <pkg...> # Installe des paquets
arch-shell enter <env> # Entre dans un environnement
arch-shell delete <env> # Supprime un environnement
arch-shell list # Liste les environnements
arch-shell info <env> # Affiche les infos d'un environnement
~/.arch-shell/
├── store/
│ └── base-template/ # Template de base Arch Linux
├── env1/ # Environnement utilisateur 1
│ ├── .arch-shell-env # Métadonnées JSON
│ └── ... (système de fichiers Arch)
└── env2/ # Environnement utilisateur 2
├── .arch-shell-env
└── ... (système de fichiers Arch)
# Créer l'environnement
arch-shell create cpp-dev
# Installer les outils de développement
arch-shell -S cpp-dev base-devel cmake gdb valgrind
# Entrer dans l'environnement
arch-shell enter cpp-dev# Créer l'environnement
arch-shell create python-test
# Installer Python et ses outils
arch-shell -S python-test python python-pip python-pytest
# Entrer pour tester
arch-shell enter python-testLes contributions sont les bienvenues ! Pour contribuer :
- Fork le projet
- Créez votre branche de fonctionnalité (
git checkout -b feature/AmazingFeature) - Commitez vos changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- Killian Prin-abeil - Développeur principal
Si vous trouvez un bug, merci de créer une issue avec :
- Description du problème
- Étapes pour reproduire
- Système d'exploitation et version
- Logs d'erreur (si applicable)
Ce projet inclut des scripts pour faciliter la création de releases :
make-release.sh: Crée une release stable avec récupération automatique des PRsmake-prerelease.sh: Crée une pré-release (alpha, beta, rc)
# Créer une release stable
./make-release.sh v1.0.0
# Créer une pré-release
./make-prerelease.sh v1.0.0-rc.1 beta