# Configuration perso pour Linux
Mon guide à suivre lors d'une réinstallation d'Ubuntu
### Avant de réinstaller, sauvegarder les clés SSH **ET** GPG.
Détails concernant l'import/export de la clé GPG
- Export clé publique : `gpg --output public.gpg --armor --export user@email`
- Export clé privé : `gpg --output private.gpg --armor --export-secret-key user@email`
- Import clés publique : `gpg --import public.gpg`
- Import clés privé : `gpg --allow-secret-key-import --import private.gpg`
- Avoir le numéro de la clé (`sec`) : `gpg --list-secret-keys --keyid-format LONG user@email` (dans `sec rsa4096/30F2B65B9246B6CA 2017-08-18 [SC]` c'est `30F2B65B9246B6CA`)
- Utiliser cette clé pour Git : `git config --global user.signingkey `
## Script global pour Ubuntu et WSL
*Regarde en détail [le script pour Ubuntu et WSL](installGlobalScript.sh) pour connaître quels apps sont installées et quelle configuration est appliquée.*
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installGlobalScript.sh -O tmp.sh && sudo bash tmp.sh; rm tmp.sh
```
## Scripts pour chaque application
- [Installe Brave](https://brave.com/linux/#debian-9-ubuntu-1604-and-mint-18)
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installBrave.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Désinstalle Firefox
```bash
sudo snap remove firefox && rm -r $HOME/snap/firefox
```
- Installe et configure Fish ainsi que le SSH dans Fish
- Police (sous Windows CMD) : `Cascadia Mono`
- Couleur texte : `#D3D0C8 (211, 208, 200)`
- Couleur arrière-plan : `#2D2D2D (45, 45, 45)`
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installFish.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe VSCode
```bash
# Possible qu'il y est un problème de "keyrings", dans ce cas il faut
# se rendre dans `seahorse` et désactiver le mot de passe du keyring
# par défaut.
sudo snap install code --classic
```
- Remettre les clés SSH dans le dossier `$HOME/.ssh`
```bash
# Pour remettre les bonnes permissions, vous pouvez exécuter cette commande après avoir remis vos clés ssh (au cas où elles est été altérés).
sudo chown $USER:$USER $HOME/.ssh/* && sudo chmod u=r,g=,o= $HOME/.ssh/* && sudo chmod u=r,g=r,o=r $HOME/.ssh/*.pub && sudo chmod u=r,g=r,o=r $HOME/.ssh/config && sudo chmod u=rw,g=,o= $HOME/.ssh/environment
```
- Désactive le mot de passe SU si nécessaire
```bash
sudo sed -i "26s#.*#%sudo ALL=(ALL:ALL) NOPASSWD: ALL#" /etc/sudoers
```
- Installe Spotify et [le patch](https://github.com/abba23/spotify-adblock)
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installSpotify.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
Faculativement, lance ce script pour [supprimer la bannière en bas](https://github.com/abba23/spotify-adblock/issues/12#issuecomment-858357326) (attention il va falloir refaire la manipulation à chaque mise-à-jour)
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/removeBannerSpotify.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe [Syncthing](https://apt.syncthing.net/) et le [lance au démarrage](https://docs.syncthing.net/users/autostart.html#how-to-set-up-a-system-service)
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installSyncthing.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe [GL4Dummies](https://gl4d.api8.fr/FR/gl4d.pdf) *(temporaire)*
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installgl4D.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe Discord
```bash
wget -q --show-progress "https://discord.com/api/download?platform=linux&format=deb" -O discord.deb && sudo apt install ./discord.deb -y && rm discord.deb
```
- Installe Obsidian
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installObsidian.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Mettre en place le VPN
```bash
# En SSH au serveur, dans le dossier d'openvpn
docker-compose run --rm openvpn ovpn_getclient anri > anri.ovpn
```
- Installe Flameshot
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installFlameshot.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe Parsec
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installParsec.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe Latex
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installLatex.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe Java (Adoptium 17.0.1)
```bash
# Utilises SDKMAN, gère Fish si installé
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installJava.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe OnlyOffice
```bash
sudo snap install onlyoffice-desktopeditors
```
- Installe le [sélecteur d'emojis](https://github.com/GaZaTu/x11-emoji-picker)
```bash
wget -q --show-progress https://raw.githubusercontent.com/GaZaTu/x11-emoji-picker/master/install.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Met en place quelques configurations que j'utilises sur Ubuntu
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/ubuntuConfiguration.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Historique du presse-papier
```bash
# Lisez le fichier (ou les logs à l'exécution) car ce script nécessite des manipulations en plus
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installClipboardHistory.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe des trucs utile pour Python ([venv](https://docs.python.org/fr/3/library/venv.html), [Tkinter](https://docs.python.org/fr/3/library/tkinter.html) et [Pygments](http://tug.ctan.org/macros/latex/contrib/minted/minted.pdf))
```bash
sudo apt install python3-virtualenv python3-tk python3-pygments -y
```
- Installe Rust
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installRust.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe MultiMC
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installMultiMC.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe Signal
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installSignal.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe KolourPaint (Paint sur Linux)
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installKolourPaint.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe tldr (bref récap du `man`)
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installTLDR.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe Git LFS
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installGitLFS.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```
- Installe OBS
```bash
wget -q --show-progress https://git.kennel.ml/Anri/myLinuxConfiguration/raw/branch/main/installOBS.sh -O tmp.sh && bash tmp.sh; rm tmp.sh
```