Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Organiser son emacs, ses paquets, etc...

4 réponses
Avatar
Xavier Maillard
Bonjour,

suite à la discussion qui a eu lieu sur BBDB/EUDC, je me suis
tout d'un coup demandé quelle était la méthode la plus naturelle
pour organiser ses données dans Emacs.

Ceci comprend:

1. les fichiers de configuration
2. les paquets persos
3. les paquets issus de CVS

On voit de ci et de là, des .elisp/.emacs.d/....

Quelle est selon vous la méthode à adopter. De mon côté c'est un
vrai "mess" et j'en mets partout ce qui peut conduire à des
effets de bords difficiles à détecter.

Merci pour vos conseils.
--
In Gruuik we trust

4 réponses

Avatar
Sébastien Kirche
Le 30 Mar 2005, Xavier Maillard a dit :

Quelle est selon vous la méthode à adopter. De mon côté c'est un
vrai "mess" et j'en mets partout ce qui peut conduire à des
effets de bords difficiles à détecter.

Merci pour vos conseils.



Je ne donnerai pas de conseil, simplement ma façon de faire.

Sur mes deux systèmes principaux (GNU/Linux Debian et MacOS X) je suis le
seul utilisateur.

J'installe l'application Emacs packagée de façon standard pour la plateforme
(paquet .deb pour Debian , même pour le CVS et Emacs.app sur le Mac).

Je n'aime pas trop les installation à la «make install» où on ne sait pas
trop ce qui est installé et où. Sur Mac, Emacs.app contient les répertoires
standard etc, lisp, etc.

En dehors de ce qui est fourni de base avec l'appli il m'arrive d'installer
sous Linux des paquets additionnels «propres» (ecb, wiki, bbdb, ...) encore
que de moins en moins à cause de la lenteur sur Debian pour que ces paquets
soient mis à jour par les mainteneurs.

Cependant ces paquets s'installent et se désinstallent proprement et
bénéficient de la notion de dépendance qui permet d'avoir les pré-requis
installés.

Pour tout le reste (cvs et paquets distribués en tar.gz) j'ai un ~/.elisp
dans lequel je copie les librairies à expérimenter et où j'installe les
paquets installables par «make install». Ce répertoire est équipé d'un
subdirs.el pour trouver et charger facilement ce que j'y mets.

Je me suis d'ailleurs rendu compte en réfléchissant sur cette question que
j'avais aussi un ~/.emacs.d/ et un ~/.gnus.d/ que je pourrais bien unifier
avec ~/.elisp/...

--
Sébastien Kirche
Avatar
drkm
Sébastien Kirche writes:

Je ne donnerai pas de conseil, simplement ma façon de faire.



Mitou. J'ai déjà expliqué quelques trucs (sur les répertoires, si
j'ai bonne mémoire), dans le fil sur EUDC/BBDB. J'en ai parlé
également il y a deux ou trois semaines ici :

Message-ID:

et deux ou trois mois là :

Message-ID:

Sur mes deux systèmes principaux (GNU/Linux Debian et MacOS X) je suis le
seul utilisateur.



En général, moi aussi. Mais j'essaie toujours de raisonner en terme
d'administrateur. Ce qui vaut pour le site va dans /usr/, ce qui vaut pour
moi dans ~/.

Ça n'est pas difficile, et ça ne demande pas de boulot. À la limite
un peu de rigueur. Et j'ai l'impression que cela facilite la partage
(portage) de ma config perso sur une autre machine (et ça arrive
souvent).

Je me suis d'ailleurs rendu compte en réfléchissant sur cette question que
j'avais aussi un ~/.emacs.d/ et un ~/.gnus.d/ que je pourrais bien unifier
avec ~/.elisp/...



J'ai eu aussi ces répertoires. Finalement, je n'ai plus que la
hiérarchie ~/.emacs.d/. Tous le reste se trouve là-dedans (pour la
plupart des sous-répertoires). C'est très pratique et très propre, je
trouve :

~/.emacs.d/gnus/
~/.emacs.d/home-lisp/
~/.emacs.d/configs/
~/.emacs.d/overloads/
~/.emacs.d/diary
~/.emacs.d/...

Cfr. également, pour des pistes sur ce que j'utilise (attention,
pour le répertoire home, c'est assez vieux et tout ne s'y trouve
pas), si tu es téméraire :

http://cvs.sf.net/viewcvs.py/drkm-lib/home/drkm/
http://cvs.sf.net/viewcvs.py/drkm-lib/drkm-lib/
http://drkm-lib.sf.net/doc/Config-Subdirs.html
http://drkm-lib.sf.net/doc/Config-Loaddefs.html

--drkm
Avatar
Xavier Maillard
On 30 Mar 2005, drkm wrote:

Sébastien Kirche
writes:

> Je ne donnerai pas de conseil, simplement ma façon de faire.

Mitou. J'ai déjà expliqué quelques trucs (sur les répertoires,
si j'ai bonne mémoire), dans le fil sur EUDC/BBDB. J'en ai
parlé également il y a deux ou trois semaines ici :

Message-ID:

et deux ou trois mois là :

Message-ID:



Merci du rappel :)

> Je me suis d'ailleurs rendu compte en réfléchissant sur cette
> question que j'avais aussi un ~/.emacs.d/ et un ~/.gnus.d/
> que je pourrais bien unifier avec ~/.elisp/...

J'ai eu aussi ces répertoires. Finalement, je n'ai plus que la
hiérarchie ~/.emacs.d/. Tous le reste se trouve là-dedans (pour
la plupart des sous-répertoires). C'est très pratique et très
propre, je trouve :

~/.emacs.d/gnus/
~/.emacs.d/home-lisp/
~/.emacs.d/configs/
~/.emacs.d/overloads/
~/.emacs.d/diary
~/.emacs.d/...



Cette idée me séduit. Actuellement je partais sur l'idée d'avoir
un seul répertoire .lisp.d contenant mes développements et
fichiers de configurations pour Emacs et Common Lisp.

J'ai également le répertoire .gnus.d qui contient pas mal de
choses:

,----[ ls -l ~/.gnus.d ]
| total 20
| drwxr-xr-x 3 zedek zedek 512 Feb 21 02:23 agent
| drwxr-xr-x 3 zedek zedek 512 Feb 21 02:23 diary
| drwxr-xr-x 4 zedek zedek 512 Feb 21 02:23 drafts
| drwxr-xr-x 7 zedek zedek 512 Mar 30 23:43 etc
| drwxr-xr-x 42 zedek zedek 1536 Mar 10 08:50 mail
| drwxr-xr-x 7 zedek zedek 512 Feb 21 02:23 marks
| drwxr-xr-x 2 zedek zedek 1024 Mar 30 23:23 rss
| drwxr-xr-x 2 zedek zedek 512 Feb 21 02:23 save
| drwxr-xr-x 2 zedek zedek 512 Feb 21 02:23 slashdot
| drwxr-xr-x 4 zedek zedek 512 Feb 21 02:23 var
`----

En fait il contient absolument tout sur mes mails/Usenet, les
faces, les signatures, ...

Bref, si je veux lire mon mail sur une autre machine, je n'ai
qu'à lancer un rsync et le tour est joué.

Cfr. également, pour des pistes sur ce que j'utilise
(attention, pour le répertoire home, c'est assez vieux et tout
ne s'y trouve pas), si tu es téméraire :

http://cvs.sf.net/viewcvs.py/drkm-lib/home/drkm/
http://cvs.sf.net/viewcvs.py/drkm-lib/drkm-lib/
http://drkm-lib.sf.net/doc/Config-Subdirs.html
http://drkm-lib.sf.net/doc/Config-Loaddefs.html



Intéressant (comme d'habitude). J'apprécie la clarté de ton
.emacs (je rêve que le mien soit aussi propre en fait). Je compte
bien te repiquer des bouts de code pour "décentraliser" et
décontenancer mon .emacs :)

En gros, au final, j'aurais quelque chose qui ressemblera à
quelque chose comme:

.gnus.d => tout le mail/usenet (ne changera pas ou très peu)
.emacs.d => (adoption de ton mode de fonctionnement)
.lisp.d => (réservé à mes développements en CL).

Ca fait un sacré travail, mais c'est réalisable et facilement :p
--
.o. Xavier Maillard Tel: +33 6 68 04 64 37
..o
ooo
Avatar
drkm
Xavier Maillard writes:

Je compte
bien te repiquer des bouts de code pour "décentraliser" et
décontenancer mon .emacs :)



C'est là pour ça ... Fais tout de même attention que drkm-conf
n'est pas stable.

Normalement, drkm-conf:init ne devrait pas beaucoup changer (mis à
part des ajouts, mais pas d'incompatibilités). Et c'est ÀMHA le plus
intéressant pour l'instant. C'est là qu'est déclenché le parcours du
load-path pour rechercher et charger les Subdirs et Loaddefs Files.

Pour ce qui est de drkm-conf:configure, j'aimerais le modifier,
proposer quelque chose de plus utilisable (au niveau interface,
possibilités) et de plus robuste au niveau implémentation (ce n'est
pas très rigoureux pour l'instant, ça ressemble à un gros hack).

Bref, pique des idées et du code tant que tu veux. Si tu utilises
directement la drkm-lib, fais gaffe lors de mises à jour (enfin, fais
gaffe tout court :-p).

Il y a aussi pas mal de dépendences entre les modules, une
dépendance des configs envers CEDET (c'est assez lourd au démarrage
sur de plus petites machines), etc. Bref, fais des sauvegardes avant
de modifier radicalement ta config ...

Il y a longtemps que je n'ai pas fait de commit, mais je suis en
train d'expérimenter (à mes rares moments libres) l'utilisation de
CLOS (enfin, de EIEIO, ce qui est tout de même très différent) dans la
configuration d'Emacs (notamment en relation avec les file-style). Je
pense qu'il y a moyen de faire des trucs assez sympas.

Le problème, c'est de faire dépendre sa config de CEDET. EIEIO
n'est pas lourd à charger, le gain apporté justifie ÀMHA ce faible
coup. Mais si l'on doit porter sa config sur un système où CEDET
n'est pas disponible, cela impose à l'installer. Bien que EIEIO est
assez indépendant du reste, donc devrait pouvoir être installé seul,
ce qui réduit l'inconvénient.

Je me suis dit que l'utilisation de CLOS dans la config d'Emacs
pouvait t'intéresser ...

--drkm