dotfiles/README.md

162 lines
4.1 KiB
Markdown

# Les fichiers de configuration d'Olivier
Cf. https://medium.com/toutsbrasil/how-to-manage-your-dotfiles-with-git-f7aeed8adf8b
et https://news.ycombinator.com/item?id=11070797
La première fois ça donne :
```bash
git init --bare $HOME/.dotfiles
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
dotfiles config --local status.showUntrackedFiles no
dotfiles remote add origin gitea@forge.o9.re:olivier/dotfiles.git
dotfiles push origin master
```
et on utilise la commande `dotfiles` (inclure dans .zshrc) pour ajouter des fichiers :
```bash
dotfiles add .zshrc
```
Les autres fois :
```bash
git clone --bare gitea@forge.o9.re:olivier/dotfiles.git $HOME/.dotfiles
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
dotfiles config --local status.showUntrackedFiles no
dotfiles checkout
source ~/.zshrc
```
Ce qui relance zsh pour rendre la commande `dotfiles` active !
## Après un script Ansible
Cf. https://www.atlassian.com/git/tutorials/dotfiles
Puis ssh@maMachine et :
```
function config {
/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME $@
}
mkdir -p .config-backup
config checkout
if [ $? = 0 ]; then
echo "Checked out config.";
else
echo "Backing up pre-existing dot files.";
config checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} .config-backup/{}
fi;
config checkout
config config status.showUntrackedFiles no
```
Ensuite on supprime les fichiers/dossiers listés puis on fait : `config checkout`.
## Description
Quelques fichiers de configuration possibles pour des outils quotidiens tels que :
* Multiplexeur
* Éditeur
* Serveur graphique
* Interpréteur de commande
* etc.
D'autres viendront au fur et à mesure.
## Dépendances
Sont nécessaires :
* colordiff
* dino (pour XMPP) avec noto-fonts-emoji
* dunst
* elinks
* exa
* gartoon-redux (https://www.gnome-look.org/content/show.php?content=74841) : icônes mode cartoon :)
* git-core
* htop
* kitty + ttf-fira-code (AUR) pour les fontes avec ligatures
* mlocate
* most
* i3lock pour le verrouillage de l'écran
* i3wm-gaps
* redshift
* ripgrep
* tmux
* trizen
* ttf-dejavu
* vim + neovim
* vim-airline + powerline-fonts (pour VIM)
* zsh + oh-my-zsh (Cf. https://github.com/robbyrussell/oh-my-zsh) + powerlevel10k (Cf. https://github.com/romkatv/powerlevel10k#oh-my-zsh)
## Cas de ZSH
```bash
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
cp dotfiles/zshrc ~/.zshrc
cp dotfiles/p10k.zsh ~/.p10k.zsh
```
## Cas d'i3
Nécessite :
* .profile pour rendre disponible $HOME/bin
* .Xresources
Dépendances :
* gksu (pour éteindre/redémarrer le système à partir de polybar)
* scrot
* feh
* i3-gaps (à la place d'i3)
* rofi (pour le menu de lancement)
* picom (pour la transparence et les ombres des fenêtres)
* polybar (à la place de la barre d'état)
* ttf-font-awesome-4 (pour afficher des icônes dans la barre d'état)
* (optionnel) network-manager-applet (pour la configuration wifi)
* pavucontrol (gestion du son)
* wireless_tools pour l'affichage wifi dans polybar
* clipit (presse-papier du bureau)
* hamster-time-tracker (enregistrement des durées de travail)
* httpie
* nvm (pour zshrc qui demande cet outil)
* dunst (pour notification bureau)
## À Configurer (avec un script bash ou autre)
Clavier FR avec la commande suivante :
```
localectl --no-convert set-x11-keymap fr,fr pc104 oss,bepo grp:alt_shift_toggle
```
## Autologin
Cf. https://wiki.archlinux.org/index.php/Getty#Automatic_login_to_virtual_console
## Configuration de Git
```bash
git config --global commit.template ~/.gitmessage.txt
```
## Selfie de la caméra avec mpv
```bash
mpv av://v4l2:/dev/video0
```
puis on appuie sur la touche **[s]**.
## Liens utiles
* https://dotfiles.github.io/
* https://github.com/svetlyak40wt/dotfiler
* https://gist.github.com/NeoTheFox/afd26413899d6e0431f88546027144a6 (config kitty)