Ce dépôt contient ma configuration, qui n'a pas pour but d'être modulable mais de répondre à mes besoins. Ce dépôt peut vous inspirer pour vos configurations. J'essaie le plus possible de documenter.
- cloner le dépôt :
git clone [email protected]:EmixMaxime/dotfiles.git
- créer des liens symboliques
Commandes à lancer depuis le dossier du clone
ln -s $PWD/.tmux.conf $HOME
rm $HOME/.zshrc && ln -s $PWD/.zshrc $HOME
ln -s $PWD/.zsh_functions $HOME
ln -s $PWD/.aliases $HOME
- Éditeur principal : Visual Studio Code qui offre une belle interface ainsi qu'une auto-complétion correcte sur mes langages principaux.
- Ancien éditeur : SublimeText qui m'a comblé pendant des années. Malheureusement il ne répond plus à mes besoins actuels. Sa rapidité et fluidité ne cessera de me séduir !.
- IntelliJ IDEA qui répond parfaitement à mes besoins. Un IDE pour effectuer toutes mes tâches : développement Java, PHP, JavaScript...
Passant des heures et des heures devant des lignes de code j'aime le changement. C'est pour cela que j'utilise beaucoup de thèmes de couleur et de fonts.
- Mon thème préféré reste Dracula.
- Material, disponible également sur vscode, la suite Jetbrains ect...
- Atom One Dark Theme, aussi pour vscode, et la même version en light.
- Hasklig qui mixe Source Code Pro et Fira Code (le mélange parfait pour moi !).
- Source Code Pro.
- Fira Code.
- Deja Vu Sans Code.
J'utilise le terminal de xfce, il est très léger je n'ai pas besoin de plus.
J'ai déjà essayé Terminator qui propose un système similaire à Tmux qui se veut plus simple mais je préfère le petit terminal de xfce et ajouter ma configuration tmux que je retrouve sur toutes les machines où je travaille.
Ceci étant dit, j'utilise souvent Terminator avec tmux...
Ma configuration de ce terminal est disponible sur ce dépôt : config/xfce4/terminal/terminalrc
.
Pour l'appliquer il suffit de copier ce fichier :
cp config/xfce4/terminal/terminalrc ~/config/terminal/xfce4/terminal
Il en existe beaucoup, Bash (celui par défaut sur ubuntu debian...), Fish, Csh ect... Alors, pourquoi Zsh ?
Tout simplement parce que lorsque je suis arrivé dans le monde unix je cherchais un shell meilleur que bash, j'ai googler et j'ai trouvé zsh, c'est le plus populaire. Celui-ci répondant parfaitement à mes besoins je ne sens pas la nécessité de changer, puis vu le temps que j'ai passé à le configurer je n'ai vraiment pas envie de le lâcher !
Rien de plus simple
sudo apt-get install zsh
Une fois Zsh installé, notre shell reste Bash. Pour changer, il suffit de tapper zsh
.
Lors du premier lancement il va vous interroger sur comment créer le fichier de configuration. Je recommande l'option (2), zsh va générer pour vous une configuration de base documentée.
Zsh est installé, c'est bien. Cependant, vous pouvez remarquer que votre shell est toujours celui par défaut du votre système (généralement /bin/bash
, à vérifier avec echo $SHELL
). Voici comment changer ce shell pour zsh :
chsh -s $(which zsh)
Cela a pour effet de modifier le shell par défaut pour l'utilisateur courant (donc vous même). Si vous souhaitez le changer aussi pour l'utilisateur root
il suffit d'exécuter la même commande avec cet utilisateur :
sudo !!
cd /var/log
cd log local # -> cd /var/local
setopt # voir les options activés
unsetopt # voir les options pas activés
# Themes
prompt -l # affiche les themes disponibles
prompt bart # change le thème sur cette session de terminal
# pour que ce soit "définitif" : changer le prompt du .zshrc
Pour l'installation, encore une fois rendez vous sur le dépôt.
-
Zsh syntax highlighting qui permet d'avoir une coloration syntaxique des commandes, c'est très confortable.
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
-
Zsh autosuggestions qui m'évite de répéter 100 fois les mêmes commandes tous les jours.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
J'utilise le thème pure.
wget https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
sudo mv PowerlineSymbols.otf /usr/share/fonts/
sudo fc-cache -vf
sudo mv 10-powerline-symbols.conf /etc/fonts/conf.d/
sudo apt-get install tmux
# vérifier que c'est bien la dernière version d'installée (2.x)
sudo apt-cache policy tmux
# ou
sudo apt-cache madison tmux
Pourquoi un plugin manager ? Pour se simplifier la vie... Il me suffit d'ajouter une ligne dans mon fichier tmux.conf
et de lancer une ligne de commande afin d'installer un plugin.
Pour suivre les instructions de téléchargement, rendez vous sur le dépôt github.
Ceci étant dit, tpm s'installe automatiquement grâce à la configuration de tmux. Vous n'avez donc juste qu'à faire un coup de CTRL+b puis I
, ou ~/.tmux/plugins/tpm/bin/install_plugins
pour installer les plugins.
- Resurrect qui permet de sauvegarder un environnement.
Commandes que j'utilise très souvent :
CTRL+b puis CTRL+s
: pour sauvegarder une session.CTRL+b puis CTRL+r
: restaurer les sessionsCTRL+b puis s
: lister les sessions (ce n'est pas de ce plugin mais de tmux ;-))
ctrlb + " ctrlb + % ctrlb + flèches directionnelles
ctrld ou exit ferme une panes ou si c'est la dernière ferme tmux
ctrlb + ? = help -> q = exit
Créé une nouvelle fenêtre : ctrlb + c
Naviguer entre les fenêtres : ctrlb + p (previous) / n (next)
https://youtu.be/mdIrm8TPK44?t=1141
J'utilise cette astuce pour remplacer la touche puissance 2 par un back-tick (développeur javascript dans l'âme).
# Génération du fichier map
xmodmap -pke > ~/.Xmodmap
# Chercher la clef correspondant à la touche à remapper
xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }'
# Changement du fichier ~/.Xmodmap
# Reload la configuration
xmodmap ~/.Xmodmap
Le back-tick correspond à 16 grave
et la puissance 2 à 49 twosuperior
.
Je cherche la ligne correspondant à la clef 49
et je la modifie :
keycode 49 = grave
- (Pavucontrol pour gérer pulseAudio graphiquement)[https://doc.ubuntu-fr.org/pavucontrol]
Parfois le son se met à foirer, grésillements...
pulseaudio -k && sudo alsa force-reload