/liquinstall

Linux quick installation script

Primary LanguageShellThe UnlicenseUnlicense

liquinstall

Ce projet est prévu pour mon usage personnel, il est donc fortement opinioné et le restera.

Ce projet a pour but d’installer tous les outils et applications représentant un minimum requis pour mon environnement de travail. Il se compose d’un script d’installation et de quelques fichiers de configuration (linux quick install).

Le script d’installation est prévu pour être exécuté sur un environnement Ubuntu récent. Il sera mis à jour lorsque mes besoins et habitudes évolueront.

Qu’est-ce que ça fait ?

Mise à jour des dépendances de la distribution est effectuée, installation des paquets « courants » pour le build (software-properties-common et build-essential) et ajout du support de HTTPS pour apt (apt-transport-https et ca-certificates).

Le script installe et configure également les applications et utilitaires listés ci-après.

Applications

Utilitaires

  • zsh - Shell
  • oh-my-zsh - Plugins et thèmes pour zsh
  • git - Contrôle de version
  • curl - HTTP FTW
  • gnupg - Chiffrement
  • exa - Remplacement de ls
  • docker - Gestion de conteneurs
  • gcloud - CLI pour opérer Google Cloud
  • aws - CLI pour opérer AWS
  • kubectl - CLI pour opérer des clusters Kubernetes
  • openjdk - Java Development Kit
  • nvm - Gestionnaire de versions pour node.js
  • node.js - Environnement d’exécution JavaScript
  • npm - Gestionnaire de paquet pour node.js

Extensions Visual Studio Code

Paquets NPM

  • npm-check-updates - Gestionnaire de mise à jour des paquets npm
  • standard - Style de code JS
  • yarn - Gestionnaire de paquet alternatif pour node.js

Configurations

ZSH

Un fichier .zprofile est créé et sourcé depuis le .zshrc. Ce fichier contient les éléments suivants :

  • définition de la variable d’environnement DEFAULT_USER
  • remplacement de ls par exa via un alias
  • alias k pour kubectl
  • fonction mkcd (créé un répertoire et cd dedans)
  • chargement automatique de nvm
  • configuration du prompt pure

Terminator

Un profil par défaut est défini :

  • style du terminal : texte gris clair sur fond gris/bleu très sombre
  • tampon de défilement : 50000 lignes
  • commande personnalisée : /bin/zsh

Des keybindings personnalisés sont également définis pour une utilisation plus facile avec un clavier TypeMatrix en disposition de touches BÉPO.

  • Alt + W - Fermer la fenêtre active du terminal
  • Maj + Alt + D - Scinder le terminal horizontalement
  • Alt + D - Scinder le terminal verticalement

Visual Studio Code

Voici les paramètres définis :

  • sauvegarde automatique à la perte du focus
  • indentation de 2 espaces
  • ne pas afficher les espaces entre les mots
  • retour à la ligne automatique à 120 caractères
  • formattage automatique à la copie et sauvegarde
  • utilisation de vscode-icons en tant que pack d’icônes par défaut
  • réouvrir toutes les fenêtres après un redémarrage
  • shell du terminal linux intégré zsh
  • désactivation du crash reporter
  • désactivation de la télémétrie
  • standard autofix lors de la sauvegarde
  • standard utilise le module du répertoire de travail courant
  • désactivation de la validation JavaScript intégrée (remplacée par l’extension eslint)

Git

Tous les lauriers vont à Christophe Porteneuve pour ce fichier de configuration Git aux petits oignons !

Comment ça fonctionne ?

Deux méthodes sont possibles pour exécuter le script :

  • via wget:
wget --no-check-certificate "https://raw.githubusercontent.com/nicolas-goudry/liquinstall/master/install.sh" -O - | bash
  • via curl:
curl -L "https://raw.githubusercontent.com/nicolas-goudry/liquinstall/master/install.sh" | bash