Contexte
Je cherchais à améliorer mon prompt bash dans mon terminal afin d'améliorer mon expérience.
Le résultat me satisfait pleinement. Il est épuré et agréable. De plus, cela m'a permis d'avoir une indication de la branche git sur laquelle je travaille ainsi que les codes erreurs de retour.
Exemple :
La personnalisation peut être plus avancée (se référer aux sources en bas de page).
Paramétrage
Editer son fichier .bashrc
:
vi ~/.bashrc
Ajouter les lignes suivantes :
export POWERLINE_SEGMENTS="hostname pwd git git_sync status"
source ~/.powerline.bash
Télécharger le fichier powerline.bash
et le déplacer dans sa home directory :
wget https://gitlab.com/bersace/powerline.bash/-/raw/master/powerline.bash
mv powerline.bash ~/.powerline.bash
Télécharger le package de polices nécessaire Hack Nerd Font
:
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Hack.zip
Si le dossier ~/.fonts
n'existe pas, le créer !
mkdir ~/.fonts
Décompresser l'archive des polices dans son dossier ~/.fonts
:
unzip -d ~/.fonts Hack.zip
Supprimer l'archive Hack.zip
:
rm Hack.zip
Mettre à jour le cache des polices :
fc-cache -vf ~/.fonts
Sélectionner la police Hack Nerd Font
pour son terminal :
Il peut être utile de redémarrer son terminal pour avoir le choix des nouvelles polices installées 🙂
Maintenant, à l'ouverture de son terminal ce prompt apparait :
LSD
Dans mes recherches, je suis également tombé sur un projet nommé lsd
(se référer aux sources en bas de page).
Celui-ci permet d'afficher des icônes sympa en fonction du type de fichiers.
Télécharger la dernière release dispo ici : https://github.com/Peltoche/lsd/releases
A l'heure où j'écris ces lignes c'est la version 0.21.0, donc pour ma Pop!_Os en 64 bits :
wget https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
Installer le paquet :
sudo dpkg -i lsd_0.21.0_amd64.deb
Et voilà !
Il suffit de remplacer la commande ls
par lsd
:
Ces quelques alias peuvent être très agréables :
alias ls='lsd'
alias ll='ls -lh'
alias la='ls -ah'
alias lla='ls -lah'
alias lt='ls --tree'