CransWiki:

Sur cette page vous trouverez des fichiers de configurations généreusement mis à votre disposition par les membres du Crans pour que vous puissiez les utiliser.

Ils sont principalement destinés à des utilisateurs de Linux (Debian ou Ubuntu, potentiellement d'autres distrib) qui veulent une config un peu plus que ras des pâquerettes et qui veulent un peu comprendre ce qui se passe.

Ils sont commentés le plus possible et essayent de vous donner un aperçu des fonctionnalités intéressantes/utiles.

Ils sont tous sous licence WTFPL, ce qui signifie que vous avez le droit d'en faire ce que vous voulez. Bien entendu ils viennent sans aucune garantie.

Si vous avez des remarques, des corrections à apporter, des suggestions de modification/d'ajouts, <nounou AT SPAMFREE lists DOT crans DOT org>.

Sauf indication contraire, ces fichiers de configuration sont indépendants les uns des autres et sont à placer directement dans votre home.

Pour les récupérer, vous pouvez Enregistrer la cible sous. Si vous voulez les voir directement dans votre navigateur, comme ils sont encodés en UTF-8 et que l'ASCII c'est pour les faibles, vous aurez probablement besoin de configurer un petit peu votre navigateur pour qu'il les affiche correctement.


Dépôt git

Si vous voulez récupérer tous ces fichiers à la fois (et peut-être plus, si la page wiki n'est pas à jour) ou si vous voulez participer à leur élaboration de la meilleure manière qui soit, vous pouvez cloner leur dépôt git :

git clone https://gitlab.crans.org/membres-actifs/fichiers_configuration.git

Pourquoi utiliser cette méthode ?

Peut-être que vous ne comprenez pas ce qu'est git (voire qu'il vous fait peur), dans ce cas, pas de panique, vous pouvez avoir des explications détaillées (et adressées à des débutants) ici : WikiInformatique/HowToGit.

L'intérêt de les récupérer de cette manière, c'est que dès que les gens qui participent à la mise au point de ces fichiers corrigeront une erreur ou amélioreront (voire rajouteront) une fonctionnalité, vous pourrez récupérer la nouvelle version facilement !

Un peu plus d'explications ?

Commencer par cloner le dépôt avec la commande ci-dessus.

Cela créera dans le dossier où vous étiez (faites-le dans votre répertoire personnel, ou "home") un dossier fichiers_configurations qui contiendra tous les fichiers. Mais ils ne sont pour l'instant pas pris en compte.

Vous pouvez regarder ce qu'il y a dedans pour y faire votre marché :

ls -A fichiers_configurations

Quand vous en trouvez un qui vous plaît (pensez quand même à lire la section correspondante sur cette page, ça peut servir), pour le prendre en compte dans votre configuration :

ln -s fichiers_configurations/<nom du fichier>

Attention, tous les noms de fichiers commencent par un ., c'est normal, et il faut le mettre.

Cela créera un "raccourci" (sous Linux, on dit lien symbolique (ln link, -s symbolic, comme quoi ça sort pas de nulle part)).

Si vous aviez déjà un fichier qui porte ce nom dans votre home (ce sera probablement le cas du .bashrc notamment), ln refusera d'effectuer l'opération. Il faudra donc d'abord supprimer le fichier (rm <nom du fichier>) ou le renommer (mv <nom du fichier> <nouveau nom>).

Si vous voulez le voir, vous pouvez faire dans votre home :

ls -al

Exemple :

utilisateur@machine:~$ git clone https://gitlab.crans.org/membres-actifs/fichiers_configuration.git
Clonage dans 'fichiers_configuration'...
remote: Counting objects: 521, done.
remote: Compressing objects: 100% (264/264), done.
remote: Total 521 (delta 270), reused 385 (delta 210)
Réception d'objets: 100% (521/521), 143.41 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (270/270), fait.
Vérification de la connectivité... fait.

utilisateur@machine:~$ ls -A fichiers_configuration/
.bash_aliases  .git        .irssi   .procmail    .screenrc  .umaskrc  .zsh          .zshrc
.bashrc        .gitconfig  .nanorc  .procmailrc  .ssh       .vimrc    .zsh_aliases

utilisateur@machine:~$ ln -s fichiers_configuration/.bashrc

utilisateur@machine:~$ ls -al
[…]
lrwxrwxrwx  1 utilisateur utilisateur   30 mars   9 03:16 .bashrc -> fichiers_configuration/.bashrc
[…]


Les fichiers

Un petite description de à quoi sert chaque fichier.

Disclaimer : Tous ces fichiers viennent sans aucune garantie et n'engagent absolument pas le Cr@ns. Ils sont sous licence libre.

En d'autres termes : vous en fait ce que vous voulez, mais si ça ne marche pas comme vous vouliez, leurs auteurs n'y sont pour rien.

Malgré toute leur bonne volonté, il est possible que ces fichiers contiennent des coquilles ou des erreurs monstrueuses. Vous êtes les bienvenus pour collaborer, adressez vos bonnes volontés à <nounou AT SPAMFREE lists DOT crans DOT org>.

.${SHELL}rc

De $SHELL, la variable qui contient le nom du shell que vous utilisez et rc, terminaison traditionnelle des fichiers de configuration linux

.bashrc

Fichier de configuration pour bash, shell très utilisé et par défaut sous Debian et Ubuntu.

http://perso.crans.org/respbats/config/.bashrc

Ce fichier fait appel, si vous le possédez également, au fichier .bash/aliases pour définir des alias de commandes :

http://perso.crans.org/respbats/config/.bash/aliases

Ces fichiers peuvent s'utiliser out-of-the-box

Si vous décidez d'utiliser la fonctionnalité à propos d'umask, vous aurez sans doute besoin de ce fichier :

http://perso.crans.org/respbats/config/.umaskrc

Vous pouvez également ajouter un fichier .bash/bashrc.local dans lequel vous mettrez une configuration propre à une machine particulière (alors que vous pourrez mettre le même .bashrc partout). Le .bashrc est conçu pour le lire et le prendre en compte si un tel fichier existe.

Un exemple de contenu :

# Configuration particulière à machine42

# Afficher quand on est dans un dossier versionné
display_vcs_info=yes

# Couleur d'affichage de la 1ère ligne et du cadre autour de la date
line_color=${cyan}

# Couleur d'affichage de la ligne séparatrice de prompt
line_color_prompt=${cyan_prompt}

# Couleur d'affichage de l'heure
date_color=${violet_prompt}

# Couleur d'affichage du chemin courant
pwd_color=${jaune_prompt}

# Couleur d'affichage de nom d'utilisateur
username_color=${rouge_prompt}

# Couleur d'affichage du nom de la machine
host_color=${bleu_prompt}

# Couleur d'affichage du @ et du $
symbols_color=${vert_prompt}

Pour savoir quelles couleurs sont disponibles, cherchez cyan dans le fichier .bashrc, les autres sont définies à côté.

Attention, pour les paramètres qui utilisent ci-dessus une couleur dans sa version _prompt ne le font pas que pour décorer. Si vous ne le faites pas, vous aurez des comportements très bizarres dès que vous taperez une commande qui s'approche un peu du bord droit de votre terminal.

.zshrc

raise NotImplementedError

Hem, euh, un fichier .zshrc est effectivement présent dans le dépôt, mais il n'y a pas de doc ici… Démerdenzizich !


SSH

config

Marre d'avoir à préciser votre login et tout un tas d'options quand vous connectez en SSH ?

http://perso.crans.org/respbats/config/.ssh/config

Ce fichier est à placer dans le dossier .ssh de votre home avec les fichiers .ssh/config_* que vous souhaitez.

Ce fichier ne s'utilise pas out-of-the-box, vous devez activer la configuration pour le Cr@ns, l'ENS, FedeRez ou le BDE et remplacer les occurrences de "loginCr@ns", "loginENS", "loginBDE" et éventuellement "loginFedeRez" par vos logins dans le différent fichier .ssh/config_*.

Si vous voulez quelques détails sur les options qui y sont utilisées, tout est commenté. Vous pouvez aussi aller voir ici.

known_hosts

Astuce pour les membres actifs du Cr@ns : vous pouvez récupérer un fichier known_hosts qui contient déjà toutes les fingerprint des serveurs du Cr@ns et le placer dans ~/.ssh/known_hosts2. Il sera utilisé par ssh mais vous continuerez à enregistrez les serveurs que vous contactez dans ~/.ssh/known_hosts.

Il est dans /etc/ssh/ssh_known_hosts sur le serveur Cr@ns le plus proche de chez vous.

/!\ Bien entendu, si vous récupérer ce fichier en faisant confiance aveuglément à la fingerprint du serveur sur lequel vous allez le chercher, ça n'a aucun intérêt.

Il existe des moyens pour faire confiance à une première fingerprint :


.gitconfig

Parce que git, c'est awesome, mais que c'est encore mieux avec un fichier de conf cool.

http://perso.crans.org/respbats/config/.gitconfig

Ce fichier n'est pas utilisable out-of-the-box, vous devez mettre vos nom, prénom et adresse mail aux emplacements idoines (et décommenter les lignes en question).


.screenrc

screen, très utilisé pour laisser des programmes tourner quand on n'est pas là. Notamment un client IRC ou une mise à jour.

Lui aussi, on peut le customiser.

http://perso.crans.org/respbats/config/.screenrc

Ce fichier peut s'utiliser out-of-the-box


Éditeurs de texte

.vimrc

http://perso.crans.org/respbats/config/.vimrc

Y'a plein de trucs cool qui ne sont pas activés par défaut. Pensez à décommenter les options qui vous plaisent.

Ce fichier peut s'utiliser out-of-the-box

Remapper la touche Escape

Parce que franchement, la touche Escape est bien trop loin et que ça demande un effort surhumain de l'atteindre et que la touche Caps_Lock n'est pas indispensable, on peut les remapper.

Pour cela, utiliser la commande xev et appuyer sur la touche Caps_Lock et lire la ligne qui ressemble à ça :

state 0x12, keycode 66 (keysym 0xffe5, Caps_Lock), same_screeen YES,

Puis éditer son ~/.Xmodmap en conséquence :

!! Adieu Caps_Lock
clear lock
!! Remplacer Caps_Lock par Escape
keycode 66 = Escape

Il faut ensuite exécuter :

xmodmap ~/.Xmodmap

Alternativement, pour ceux qui configurent directement le serveur X, il existe une variante toute faite, nommée capslock(swapescape), pour l’option XkbLayout. Exemple d’utilisation (ligne à insérer dans une section dédiée au clavier) :

    Option             "XkbLayout"  "fr(bepo)+capslock(swapescape), fr(oss)"

Le changement prendra effet au prochain démarrage de l’X.

.nanorc

http://perso.crans.org/respbats/config/.nanorc

Pas grand chose de folichon pour l'instant, juste sourcing de quelques fichiers de coloration syntaxique. Attention, il faut que ces fichiers existent dans /usr/share/nano/ sinon nano émet plein de messages de Warning au lancement.

Ce fichier peut s'utiliser out-of-the-box

Des fichiers de coloration syntaxique supplémentaire peuvent être trouvés ici : https://github.com/stylersnico/nanorc. /!\ Ces fichiers n'ont pas été testés par les membres actifs.


IRC

.irssi/config

http://perso.crans.org/respbats/config/.irssi/config

Ce fichier est à placer dans le dossier .irssi de votre home.

Ce fichier ne s'utilise pas out-of-the-box, vous devez remplacer les occurrences de "Prénom", "Nom", "loginCr@ns" et "Pseudo" par les valeurs idoines.


Mails

procmail

procmail permet de trier ses mails à leur arrivée dans la boîte mail. Si vous ne l'avez jamais utilisé, jetez un oeil à ceci.

Comme c'est long et compliqué de faire un .procmailrc cool, les cranseux vous en offrent un tout fait.

Ce fichier n'est pas utilisable tel quel, il faut aussi avoir le répertoire ~/.procmail/rc avec les bons fichiers dedans pour qu'il soit fonctionnel.

Le plus simple est donc de cloner le répertoire de tous les fichiers de config :

git clone https://gitlab.crans.org/membres-actifs/fichiers_configuration.git .myconfig

Puis de créer le dossier ~/.procmail et d'y mettre un lien vers les fichiers de conf. Attention, pour fonctionner correctement, il faut aussi que vous possédiez le dossier ~/.procmail/logs.

mkdir -p .procmail/logs
cd .procmail
ln -s ~/.myconfig/.procmail/rc
cd ~
ln -s ~/.myconfig/.procmailrc

À ce stade, le fichier est prêt à être utilisé, mais vous avez probablement envie de le configurer.

Attention : procmail est assez capricieux, le moindre problème peut lui faire trier vos mails un peu bizarrement. Allez-y doucement, et réfléchissez 7 fois avant de vous lancer. Si vous avez un doute, vous pouvez demander à quelqu'un qui s'y connait mieux que vous.

Sachez tout de même que (à moins que vous ne rajoutiez des règles foireuses impliquant /dev/null) vos mails ne seront normalement pas perdus, quel que soit le bug rencontré par procmail. Ils peuvent néanmoins atterrir dans le dossier /var/mail/$USER.

Nous allons nous attarder un peu sur les différents fichiers concernés.

.procmailrc

C'est le fichier principal, il contient toute l'intelligence de tri. Il fait appel à tous les autres.

Par défaut, beaucoup de fichiers inclus sont commentés (cf #~#).

Au début, après une longue zone de commentaires, il définit beaucoup de variables. Vous pouvez les modifier si vous désirez trier vos mails autrement. Normalement aucun dossier n'est hardcodé dans les règles, vous pouvez tout customiser dans cette partie.

(Sauf si vous voulez rajouter des règles, mais dans ce cas, regardez les fichiers custom.*.rules)

rc/main

C'est un bête lien symbolique vers le .procmailrc logiquement deux dossiers au-dessus.

Il est bien pratique à avoir sous la main mais il n'est pas nécessaire au bon fonctionnement de l'ensemble. Vous pouvez le supprimer si ça vous chante.

rc/ML_*

Tous les fichiers du dossier rc dont le nom commence par ML_ sont des listes d'identifiants de ML que le .procmailrc va trier de la même manière.

Un petit mot sur ${ML_}  : on appellera ainsi l'identifiant de la ML, dans lequel les éventuels points ou espaces sont remplacés par un underscore.

rc/custom.*.rules

Ces fichiers sont destinés à contenir vos propres règles de tris.

Par défaut, il ne sont pas utilisés, vous devez décommenter les INCLUDERC correspondants si vous voulez les prendre en compte.

Il y en a plusieurs parce que l'ordre d'exécution des règles est important avec procmail.

rc/cron.*

Si vous décommentez le INCLUDERC=${CONFIGDIR}/cron.rules dans le .procmailrc, les deux fichiers suivants seront utilisés.

Ils servent à trier les mails envoyés par un cronjob sur un serveur Cr@ns. Comme il y en a beaucoup, le fichier cron.rules contient des règles pour expliquer comment trier ces mails. Il repose sur le contenu du fichier cron.folders dont le format est :

folder<un nombre quelconque de TAB>chaîne

Si le Subject du mail contient chaîne, il sera placé dans .Cr@ns.Problems.2-Wild.cron.folder.

rc/discourse

Si vous décommenter le INCLUDERC=${CONFIGDIR}/discourse.rules dans le .procmailrc, ce fichier sera utilisé et permet de trier les mails envoyés par discourse.

Attention, pour l'utiliser, il faut également décommenter le INCLUDERC de discourse.preprocessing plus haut dans le fichier. Son rôle est de décoder l'en-tête List-ID en enlevant les accents des lettres qui en ont. Si vous ne le faites pas, procmail fonctionnera correctement, mais placera certains mails dans un dossier contenant un accent (à cause, notamment de la catégorie départements).

Accéder en IMAP à un tel dossier ne fonctionne pas correctement1.

Le problème est que ce fichier lui-même nécessite l'installation du module Perl Text::Unaccent::PurePerl. On peut installer ce dernier ainsi :

sudo apt-get install cpanminus
sudo cpanm Text::Unaccent::PurePerl

Ce paquet Perl est installé sur zamok, ça fonctionnera donc si vous triez vos mails Cr@ns. Si vous voulez le faire ailleurs, il faudra installer le package par vous-mêmes.

L'alternative (si vous n'avez pas la possibilité/l'envie d'installer le package) est de récupérer son code source ici et de le placer à un endroit où Perl le trouvera lorsque procmail l'appellera :

mkdir -p ~/Mail/Text/Unaccent
wget http://cpansearch.perl.org/src/PJACKLAM/Text-Unaccent-PurePerl-0.05/lib/Text/Unaccent/PurePerl.pm -P ~/Mail/Text/Unaccent

retrocompatibility_patch.rules

Ce fichier est très utile pour les gens qui étaient déjà membre actif Cr@ns avant le 30/06/13 (les autres n'en ont rien à carrer).

Il faut savoir que certaines règles de tri du .procmailrc proposé ici se basent sur des champs X-Mailer qui ont été ajoutés aux envois des mails correspondant. Mais avant cette date où on a envisagé de faire les choses proprement, ces champs n'étaient pas présent. Ce fichier, si son INCLUDERC correspondant est décommenté, va trier les anciens mails selon des critères, certes plus sales, mais qui permettront de les rattraper quand même.

C'est très pratique si on veut retrier tous ses anciens mails pour avoir un classement conforme à ce fichier awesome \o/.


Prochainement

À venir :

N'hésitez pas à en proposer d'autres/à participer !


CatégoriePagePublique

  1. testé avec icedove uniquement pour le moment (1)

CransWiki: VieCrans/FichiersConfiguration (dernière édition le 2021-09-25 11:21:24 par WikiErdnaxe)