lazyshell

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

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 :

--force réinstalle aussi quand vous êtes déjà à jour.