Installation
Table des matières
Ce document se place dans le cas d'un système GNU/Linux pour une
distribution Debian (ou basée sur Debian comme Ubuntu par exemple) et
présuppose que l'utilisateur peut installer les logiciels par le biais
de la commande apt et dispose donc des privilèges root.
Dans le cas contraire, il reste possible d'utiliser cette configuration, mais l'utilisateur devra, soit utiliser les commandes ad hoc (dans le cas d'une autre distribution) soit les installer en recompilant éventuellement les logiciels.
IMPORTANT
Au premier lancement d'Emacs, tous les paquets nécessaires seront téléchargés puis compilés. Le premier démarrage prendra donc un certain temps. Ce ne sera évidemment plus le cas par la suite.
1 Installation d'Emacs
Pour que cette configuration fonctionne de manière optimale il faut
que la version d'Emacs installée soit au moins la 26.0.50.
Pour commencer il faut vérifier si le système fourni de la version minimum nécessaire. Dans le cas contraire, il faut enrichir la base des paquets ou l'installer manuellement.
1.1 Version proposée par la distribution
Pour connaître la version du système on utilise la commande
lsb_release -a
Jusqu'aux versions
bionic(18.x.x) d'Ubuntu,stretch(9.x.x) deDebian,
incluses, la version d'Emacs n'est pas suffisante.
Si Emacs n'est pas installé est si les versions d'Ubuntu ou Debian
sont suffisamment récentes, il suffit d'exécuter dans ce cas :
sudo apt update sudo apt -y install emacs
Si Emacs était installé, on peut tout de même s'assurer de sa version en utilisant la commande.
emacs --version
Si la version est suffisante (au delà de 26.0.50), on peut ignorer le
paragraphe suivant.
1.2 Préparation de l'installation
Pour installer Emacs manuellement (ce qui n'est pas recommandé), on peut suivre les instructions données ici.
On se concentre ici sur une installation de paquets précompilés.
On doit ajouter des dépôts de paquets pour l'installation, on s'assure donc que les outils de gestion de dépôts extérieurs sont disponibles.
sudo apt -y install software-properties-common
On ajoute le dépôt en faisant.
sudo add-apt-repository -y ppa:kelleyk/emacs
Puis on installe Emacs.
sudo apt -y install emacs26
Pour terminer on s'assure que la version par défaut d'Emacs sera bien la 26. Pour cela, on exécute
sudo update-alternatives --set emacs /usr/bin/emacs26
On peut vérifier à nouveau que tout s'est bien passé en exécutant
emacs --version
1.3 Nettoyage du système.
Si une version d'Emacs était déjà installée, il est probable que des paquets Emacs l'aient été aussi. Pour que cette configuration fonctionne de manière optimale, il convient de les supprimer.
sudo apt remove -y --purge '^elpa*'
2 Récupérer la configuration
2.1 Sauvegarde de l'ancienne configuration
Si Emacs avait déjà été utilisé sur le compte de l'utilisateur, il a généré automatiquement des fichiers de configuration. Il faut donc les supprimer (ou les sauvegarder) avant d'installer cette configuration.
Ce sont des fichiers cachés que nous allons placer dans un répertoire pour éventuellement les réutiliser ultérieurement si cette configuration ne convient pas.
mkdir -p ~/sauvegarde.emacs-`date +%Y%m%d` mv ~/.emacs* ~/sauvegarde.emacs-`date +%Y%m%d`
2.2 Téléchargement de la configuration
Pour obtenir la configuration, il est préférable d'utiliser git, pour
l'installer il suffit d'exécuter la commande suivante.
sudo apt -y install git
On peut maintenant récupérer la configuration.
git clone git@gitlab.delpinux.fr:delpino/dot-emacs.git ~/.emacs.d
Il est maintenant possible de lancer Emacs. Comme on l'a dit, la
configuration initiale va prendre un peu de temps. Et Emacs lui même
va installer des paquets (Debian ou Ubuntu) pour satisfaire certaines
dépendances.
Il faudra répondre oui (y) à toutes les questions qu'il posera (et
éventuellement entrer son mot de passe pour les interactions sudo).
Une fois le premier lancement terminé, on fermera Emacs, puis on pourra éventuellement le relancer.
Pour que toute la configuration soit totalement opérationnelle, il faut cependant installer quelques outils supplémentaires.
3 Python
Pour utiliser correctement Python avec cette configuration, il faut
installer Python (évidemment) et virtualenv qui va permettre
d'exécuter les scripts directement dans Emacs et bénéficier de
l'analyse syntaxique à la volée, entre autres.
sudo apt -y install python virtualenv python3-jedi python-jedi
Il reste une dernière étape à accomplir, à savoir configurer le
serveur jedi dans Emacs.
Pour cela, on lance Emacs puis la commande jedi:install-server, à
savoir dans Emacs taper
M-x jedi:install-server
où M-x signifie qu'on appuie simultanément sur les touches ALT et x,
on tape ensuite jedi:install-server à l'invite du minibuffer (tout en
bas).
Ensuite à la prochaine édition d'un fichier Python, Emacs terminera
la configuration en demandant (dans le minibuffer)
Please answer y or n. Automatically install the RPC dependencies from PyPI (needed for completion, autoformatting and documentation) ? (y or n)
Il convient évidemment de répondre y à cette question.
4 Global
On recommande aussi d'installer les ggtags.
sudo apt -y install global
5 C++
Enfin, pour configurer correctement l'environnement de développement
pour le C++, il effectuer quelques installations et configurations
supplémentaires.
On commence donc par installer clang-9.
sudo apt -y install clang-9 libclang-9-dev clang-format-9
On va maintenant aider Emacs à trouver ces bonnes versions de compilateur. Pour cela, on va exécuter les commandes suivantes.
mkdir -p ~/bin ln -s /usr/bin/clang++-9 ~/bin/clang++ ln -s /usr/bin/clang-9 ~/bin/clang ln -s /usr/bin/clang-format-9 ~/bin/clang-format
Il faut alors ajouter
export PATH=~/bin:$PATH
à son ~/.bashrc si ce n'est pas déjà fait. Si on utilise un autre
shell, on modifiera la variable PATH de la manière adéquate pour que
~/bin apparaisse au début.
À ce moment, le plus simple est de se déconnecter pour être sûr que cette modification est bien prise en compte.
Il reste maintenant à compiler le serveur irony pour terminer
l'installation. Pour cela, on doit installer CMake.
sudo apt -y install cmake
On relance ensuite Emacs, et on exécute la commande
M-x irony-install-server
Emacs propose alors une commande de compilation dans le minibuffer. Il
suffit de presser RET. La compilation devrait se dérouler sans
problème.