Installation
Trois chemins, du plus court au plus impliquant. Aucun ne demande de dépendance système : lazyshell est un binaire statique unique.
Prérequis
- macOS ou Linux. Windows est hors périmètre : pas de pty Unix.
- Un terminal qui gère les couleurs 256 (la valeur annoncée aux sessions est
xterm-256colorpar défaut, et se change). - Pour compiler soi-même : Go, à la version indiquée dans
go.mod.
Binaire précompilé
Sans toolchain Go : télécharger l'archive correspondant à son OS et à son architecture depuis la
page des releases, vérifier
checksums.txt, puis extraire lazyshell dans un dossier de son
PATH.
$ tar xzf lazyshell_<os>_<arch>.tar.gz
$ sudo mv lazyshell /usr/local/bin/
$ lazyshell --version
macOS. Un binaire téléchargé hors App Store est mis en quarantaine par
Gatekeeper. Si le lancement est refusé, autoriser l'exécutable dans
Réglages Système → Confidentialité et sécurité, ou retirer l'attribut :
xattr -d com.apple.quarantine /usr/local/bin/lazyshell.
Ou laisser un script faire le téléchargement, la vérification de checksum et l'extraction (Linux et macOS, amd64/arm64) :
$ curl -fsSL https://raw.githubusercontent.com/thomas-gleizes/lazyshell/main/scripts/install.sh | bash
Avec Go
$ go install github.com/thomas-gleizes/lazyshell/cmd/lazyshell@latest
Le binaire atterrit dans $(go env GOPATH)/bin — s'assurer que ce dossier est dans le
PATH. Cette voie ne renseigne pas les métadonnées de version injectées à la release :
lazyshell --version sera moins bavard qu'avec une archive officielle.
Depuis les sources
$ git clone https://github.com/thomas-gleizes/lazyshell.git
$ cd lazyshell
$ make build # produit ./bin/lazyshell
make build n'est qu'un raccourci pour
go build -o bin/lazyshell ./cmd/lazyshell. Voir la page
Développement pour les tests et le linter.
Vérifier l'installation
$ lazyshell --version
$ lazyshell config init # écrit un fichier de config commenté
$ lazyshell # ouvre l'interface
Au premier lancement, l'interface s'ouvre sans aucune session : n en crée une.
Si vous lancez lazyshell dans un dépôt qui contient un lazyshell.yml, il vous
demandera d'abord d'approuver ce fichier — voir
Approuver un fichier de projet.
Mise à jour
lazyshell update remplace le binaire installé par la dernière release : le même
téléchargement, la même vérification de somme de contrôle et la même installation que
scripts/install.sh, depuis le binaire lui-même.
$ lazyshell update # installe la dernière release
$ lazyshell update --check # dit seulement s'il y en a une plus récente
Le nouveau binaire est écrit à côté de l'ancien puis mis en place d'un seul geste : une mise à jour interrompue laisse l'ancienne version intacte, jamais une moitié de l'une ou de l'autre. Lancer la commande depuis un lazyshell en cours ne pose pas de problème — les sessions déjà ouvertes gardent la version avec laquelle elles ont démarré, donc relancez lazyshell pour utiliser la nouvelle.
Deux cas où elle s'arrête en le disant plutôt qu'en agissant :
- Le dossier du binaire n'est pas modifiable (c'est le cas de
/usr/local/binen général). Relancez avecsudo $(command -v lazyshell) update. - La version installée n'est pas une release publiée — un
go installdepuismain, ou unmake buildlocal. La remplacer par une release jetterait ce que vous avez compilé, donc elle demandelazyshell update --force.
--force réinstalle aussi quand vous êtes déjà à jour.