17 mai 2022
System Setup
Prérequis :
brew install git
# git est livré avec macOs
git --version
# pour connaître la version utilisée (macOs par défaut)
which git
# si besoin de switcher sur la version homebrew
sudo mv /usr/bin/git /usr/bin/git-apple
# ou
brew link --overwrite git
Récupération des fichiers de configuration
J’utilise chezmoi pour la gestion de mes dotfiles (.gitconfig
, .gitignore
, .zshrc
, etc.).
#macos
brew install chezmoi
#arch
sudo pacman -S chezmoi
Récupération automatique des fichiers sur une nouvelle machine :
# si le repo github est nommé 'dotefiles'
chezmoi init --apply $GITHUB_USERNAME
# autrement
chezmoi init --apply https://github.com/$GITHUB_USERNAME/$GITHUB_REPO.git
Fonts
Voir fonts
Terminal/shell
Ajouter le thème Hyper snazzy et l’activer par défaut. Autres thèmes :
Depuis macOS Catalina, zsh
est le shell par défaut. Pour les versions antérieurs, ou sur d’autres systèmes, il peut être nécessaire d’installer zsh
ou de l’activer. Pour l’installation et l’activation, voir Installing-ZSH.
Pour la configuration du shell j’utilise Oh-my-zsh
.
# installation
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
Pour une configuration manuelle du .zshrc
(sans chezmoi
), suivre les étapes suivantes :
- plugins
plugins=(git web-search aliases)
- thème typewritten (github)
git clone https://github.com/reobin/typewritten.git $ZSH_CUSTOM/themes/typewritten
# NB $ZSH_CUSTOM est une variable par defaut de oh-my-zsh)
#.zshrc
ZSH_THEME="typewritten/typewritten"
TYPEWRITTEN_RELATIVE_PATH="adaptive"
TYPEWRITTEN_PROMPT_LAYOUT="pure"
TYPEWRITTEN_ARROW_SYMBOL="|"
TYPEWRITTEN_COLOR_MAPPINGS="primary:red"
Navigateurs
Langages de programmation
Pour l’installation de Julia, voir https://julialang.org/downloads/.
Installer Python avec Homebrew ou avec un gestionnaire de paquets Linux (brew install python
).
Pour plus d’informations sur Homebrew et Python : https://docs.brew.sh/Homebrew-and-Python.
Librairies
J’utilise le package n
pour la gestion des versions de NodeJS. Pour l’installer : brew install n
Pour définir le dossier d’installation de NodeJS, il faut configurer la variable d’environnement N_PREFIX
(déjà configurée dans mes dotefiles
).
# .zshrc
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH
Il est ensuite possible d’installer différentes versions de node :
n stable
pour installer la version stablen <version>
pour installer une version spécifique, par exemplen 16.15.0
n lts
pour installer la version de support à long termen latest
pour installer la dernière version.
Pour vérifier la version de node : node -v
.
Pour passer d’une version de Node à l’autre il suffit de taper n
dans le terminal, de sélectionner la version désirée avec les flèches
et d’appuyer sur enter
.
Penser à ajouter Ant
dans le $Path
Pour une installation avec macOS, voir : tei Stylesheets
Éditeurs de texte
Vim Vim est installé par défaut sur macOs mais pas sur toutes les distributions Linux. Pour l’installer s’il est manquant
brew install vim
. Un fichier.vimrc
est présent dans mesdotefiles
.Neovim :
# macos
brew install neovim
#arch
pacman -S neovim
Les fichiers de configuration se trouvent dans mes dotefiles
(.config/nvim).
La configuration de JuliaLS nécessite une étape manuelle pour la création d’un environnement julia nvim-lspconfig
(voir ce post pour plus de détails, une copie est présente dans mon zotero pour la procédure complète. Voir aussi le repos fredrikekre/.dotfiles).
- lancer la commande
julia --project=~/.julia/environments/nvim-lspconfig -e 'using Pkg; Pkg.add("LanguageServer")'
pour créer l’environnement ; - changer de répertoire :
cd ~.julia/environment/nvim-lspconfig
; - lancer la commande
make
.
NB : le fichier makefile
et le dossier .julia/environments/nvim-lspconfig
sont aussi dans mes dotefiles
.
NB2 : Pour une raison que j’ignore, sous macos Sonoma 14.5, le fichier languageserver.dylib
créé avec la commande make
cause une erreur à l’ouverture d’un fichier julia avec neovim. Le supprimer règle toutefois le problème (julia 1.10+). Le problème n’a cependant pas été constatée sous macos Catalina et Archlinux.
Commandes utiles pour le deboggage :
:TSUpdate ---mise à jour des parsers
:LspInfo --- statuts et serveurs de langages actifs et configurés
--- ouvrir un fichier julia puis lancer la commande
:LspInfo --- puis <tab> permet d'accéder à plus d'informations sur la configuration requise
:LspUpdate --- mettre à jour les serveurs de langages
:LspLog --- logs des serveurs de langages
:checkhealth --- diagnostics de la configuration neovim
:Lazy --- pour la gestion des plugins
- Webstorm
Webstorm permet la synchronisation de paramètres depuis un compte Jetbrains. Pour activer la synchronisation :
Webstorm/Settings/Settings Sync/Enable Settings Sync
, puis dans la popupGet Settings from Account
. Le changement de font s’effectue dansWebstorm/settings/Editor/Font
.
Plugins :
Intégration de BaseX : voir la documentation BaseX.
- Visual Studio Code / Code OSS VS Code permet également la synchronisation des paramètres depuis un compte Github. Voir la documentation pour l’activer : https://code.visualstudio.com/docs/editor/settings-sync. Code OSS ne le permet vraisemblablement pas et nécessite une configuration manuelle.
Le changement de font s’effectue dans Code/Réglages/ParamètresEditor: Font Family
. Il est également possible de définir une font pour un langage particulier, voir la documentation et aussi https://worldofzero.com/posts/enable-font-ligatures-vscode/.
Pour synchroniser les balises ouvrantes et fermantes (html/xml) : ⌘ + ⇧ + p
, puis choisir settings.json
(user) et ajouter "editor.linkedEditing": true
.
Le fichier settings.json
complet :
{
"editor.fontFamily": "MonoLisa, 'IBM Plex Mono', Menlo, Monaco, 'Courier New', monospace",
"editor.fontSize": 16,
"editor.formatOnType": false,
"editor.indentSize": "tabSize",
"editor.fontLigatures": true,
"editor.formatOnPaste": true,
"editor.lineHeight": 1.6,
"editor.linkedEditing": true,
"editor.renderWhitespace": "all",
"editor.tabSize": 4,
"explorer.compactFolders": false,
"explorer.confirmDragAndDrop": false,
"git.openRepositoryInParentFolders": "never",
"[julia]": {
"editor.fontFamily": "JuliaMono, MonoLisa, 'IBM Plex Mono', Menlo, Monaco, 'Courier New', monospace"
},
"julia.enableTelemetry": false,
"julia.symbolCacheDownload": true,
"security.workspace.trust.untrustedFiles": "open",
"settingsSync.ignoredExtensions": [
"james-yu.latex-workshop"
],
"svelte.enable-ts-plugin": true,
"terminal.integrated.commandsToSkipShell": [
"language-julia.interrupt"
],
"workbench.colorTheme": "One Dark Pro",
"workbench.sideBar.location": "right",
"workbench.startupEditor": "none",
"workbench.tree.indent": 24
}
Les raccourcis clavier dans le fichier keybindings.json
// Placer vos combinaisons de touches dans ce fichier pour remplacer les valeurs par défautauto[]
[
{
"key": "alt+w",
"command": "editor.emmet.action.wrapWithAbbreviation",
"when": "editorHasSelection && editorTextFocus"
},{
"key": "cmd+enter",
"command": "editor.action.insertLineAfter",
"when": "editorTextFocus"
},{
"key": "cmd+shift+enter",
"command": "editor.action.insertLineBefore",
"when": "editorTextFocus"
},{
"key": "alt+f",
"command": "editor.action.formatDocument",
"when": "editorTextFocus"
},{
"key": "shift+alt+f",
"command": "editor.action.formatSelection",
"when": "editorHasSelection"
},{
"key": "ctrl+alt+c",
"command": "editor.action.transformToCamelcase",
"when": "editorHasSelection"
},{
"key": "ctrl+alt+l",
"command": "editor.action.transformToLowercase",
"when": "editorHasSelection"
},{
"key": "ctrl+alt+s",
"command": "editor.action.transformToSnakecase",
"when": "editorHasSelection"
},{
"key": "ctrl+alt+u",
"command": "editor.action.transformToUppercase",
"when": "editorHasSelection"
}
]
Plugins :
Mes paramètres personnalisés sont stockés dans le fichier globalSettings.xml
et les scénarios de transformation dans transformation.scenarios
(repo oxygenxml-config).
Pour importer les paramètres et les scénarios : options/(importer les options globales | importer les scénarios de transformation)
Pour une configuration manuelle :
- Formatage :
Préférences/Éditeur/Formatage
:- cocher seulement :
détecter l'indentation à l'ouverture
;indenter avec Entrée
;activer Smart Enter
- changer les valeurs pour :
largeur d'indentation
:3
etLongueur de ligne
:10000
- cocher seulement :
Préférences/Éditeur/Formatage/XML
:- cocher :
Conserver les lignes vides
;Conserver les sauts de ligne dans les attributs
;Indenter les éléments en ligne
- ajouter
//p/*
;//head//*
;//dateline//*
;//signed//*
;//choice
àEspacement des éléments/Conserver les espaces
- cocher :
- Saxon
Préférences/XML/XSLT/FO/XQuery/XSLT/Saxon/Saxon HE/PE/EE
- désélectionner
Étendre les attributs par défaut ("-expand")
- désélectionner