
Pour faire court, je relayez les Emacs pour le travail de mon quotidien, donc j'avais besoin d'une configuration rapide et stable qui correspond à mes besoins. Minemacs change constamment, veuillez vous référer au journal de modification pour plus d'informations. Voir également la liste des modules et packages de Minemacs.
Note
Veuillez noter que je n'ai aucune intention ou disponibilité pour créer une alternative à Doom Emacs ou Spacemacs. Bien que je trouve la joie (comme tous les autres Emacser) en bricolant Emacs, Minemacs reste juste un outil que j'utilise dans mon travail quotidien et que j'aime partager avec d'autres Emacser.
Minemacs est livré avec les batteries incluses. Voici quelques-unes de ses caractéristiques uniques:
Déférer les packages de chargement jusqu'à ce que l'utilisateur en ait besoin. Ou, pour les packages qui doivent être chargés, essayez de le faire après le début des EMAC.
Les packages sont regroupés en modules, avec un peu de colle pour les faire fonctionner ensemble.
Minemacs comprend un grand nombre de modèles principaux et de packages pour travailler avec les langages de programmation. Cependant, la majorité de ces packages ne sont pas chargés au démarrage. MineMacs utilise un système à la demande pour charger les packages uniquement lorsque l'utilisateur ouvre un fichier pris en charge, ou lorsqu'il ouvre un tampon avec un mode qui peut être étendu par l'un des modules à la demande. Le comportement de cette fonction personnalisée via minemacs-on-demand-enable-auto-mode , minemacs-on-demand-enable-magic-mode , minemacs-on-demand-enable-interpreter-mode et minemacs-on-demand-enable-companion-packages .
Ouvrez une coquille et courez:
git clone --recursive https://github.com/abougouffa/minemacs.git ~ /.emacs.d && emacs En exécutant cette commande, le référentiel sera cloné et EMACS sera lancé. Pendant l'exécution initiale, EMACS installera automatiquement les packages nécessaires. Vous devrez peut-être exécuter Mx minemacs-run-build-functions lorsque Emacs se charge pour installer des choses supplémentaires (construire certaines bibliothèques, installer des polices de nerd, etc.)
Important
Veuillez noter que j'utilise une nouvelle EMACS 30.0.92 (version recommandée) construite à partir de la branche emacs-30 principalement sur deux machines, l'une basée sur Manjaro Linux et l'autre sur Debian 12. Cependant, j'ai configuré certaines actions Github CI de base qui testent automatiquement cette configuration sur EMACS 29, 30 et 31 dans Ubuntu Linux et MacOS et sur EMACS 29 dans les fenêtres. Ces actions garantissent que Minemacs est "coulable" sur ces systèmes; avec tous ses modules activés. Cependant, des tests supplémentaires doivent être effectués pour valider correctement la configuration dans son ensemble sur des systèmes autres que Linux.
Pour personnaliser Minemacs, vous pouvez ajouter un ensemble spécifique de fichiers dans le répertoire de configuration de l'utilisateur par défaut, qui est situé par défaut à ~/.minemacs.d/ ou .emacs.d/user-config/ (le premier à trouver). Cependant, si vous préférez utiliser un répertoire différent, vous avez la flexibilité de le faire en définissant la variable d'environnement MINEMACSDIR .
Il existe deux fichiers principaux qui peuvent être ajoutés dans le répertoire ~/.minemacs.d :
~/.minemacs.d/modules.el contient une liste de modules activés et / ou une liste de packages désactivés ( minemacs-modules et minemacs-disabled-packages peuvent être définis dans ce fichier). Donc, si vous souhaitez activer un module ( ex. me-prog ) mais que vous devez exclure un package particulier ( Ex. ts-movement ), vous pouvez ajouter ce dernier aux minemacs-disabled-packages .~/.minemacs.d/config.el contient la configuration et la personnalisation de l'utilisateur, vous pouvez le considérer comme votre init.el , qui est chargé à la fin de Minemacs ' init.el ! Ce référentiel contient des fichiers squelettes pour modules.el et config.el (sous skel/ ). Nous vous recommandons fortement de suivre la même structure que dans les fichiers squelettes, en particulier l'utilisation de la charge et use-package with-eval-after-load au lieu de l'utiliser require directement ( require des charges immédiatement les packages, ce qui augmente le temps de démarrage des EMAC).
Dans mon workflow, j'utilise principalement les mêmes fichiers de configuration sur toutes mes machines (qui, suivant la tradition, sont partagées dans mon référentiel DotFiles). Cependant, j'ai des configurations spécifiques à la machine (locales) qui contiennent des configurations privées et spécifiques à la machine. Par exemple, je les utilise pour écraser l'adresse e-mail sur mon poste de travail, pour configurer mes comptes de messagerie, pour configurer Forge et Jira Intégration dans mon poste de travail, etc.
À cette fin, Minemacs vérifiera également les fichiers dans ~/.minemacs.d/local/{early-config,init-tweaks,modules,config}.el et les charger, après les ~/.minemacs.d/{early-config,init-tweaks,modules,config}.el s'ils existaient.
Minemacs fournit également quelques fichiers de personnalisation avancés, ces fichiers peuvent être utilisés pour modifier le comportement de Minemacs, ajouter un code d'initialisation précoce, rendre Minemacs exécutable sur les versions EMACS plus anciennes, etc.
~/.minemacs.d/early-config.el early-init.el Vous pouvez l'utiliser pour configurer des éléments précoces comme peaufiner l'interface utilisateur, écraser les variables définies par Minemacs dans ~/.emacs.d/early-init.el , et ainsi de suite.~/.minemacs.d/init-tweaks.el est chargé à un stade précoce du fichier init.el Vous pouvez l'utiliser pour faire des choses utiles avant que Minemacs commence à personnaliser les packages et à charger des modules. Voir les commentaires dans init.el pour plus d'informations.Vous pouvez personnaliser le comportement de Minemacs via certaines variables d'environnement.
MINEMACS_DIR ou MINEMACSDIR : chemin pour le répertoire de configuration utilisateur Minemacs, s'il n'est pas défini, ~/.minemacs.d/ est utilisé.MINEMACS_MSG_LEVEL : modifier le niveau de journal des messages, de 1 (seulement erreurs) à 4 (tous les messages).MINEMACS_VERBOSE : Soyez plus verbeux (utile pour le débogage).MINEMACS_DEBUG : activer le débogage au démarrage (et être verbeux).MINEMACS_ALPHA : définissez background-alpha en pourcentage (valeur de 0 à 100).MINEMACS_NOT_LAZY : Chargez des packages paresseux immédiatement après le chargement des EMAC.MINEMACS_ALWAYS_DEMAND : Chargez tous les packages immédiatement (cela fonctionne en définissant use-package-always-demand to t et use-package-always-defer to nil (par défaut, Minemacs définit use-package pour toujours déférer, sauf si explicite :demand est ajoutée).MINEMACS_IGNORE_USER_CONFIG : valeurs séparées de l'espace, utilisées pour désactiver le chargement ~/.minemacs.d/<file>.el . Les valeurs acceptées pour <file> sont: early-config , init-tweaks , modules , config , local/early-config , local/init-tweaks , local/modules et local/config . Utilisez all pour désactiver tous les fichiers de configuration de l'utilisateur.MINEMACS_LOAD_ALL_MODULES : Chargez tous les modules (sans prendre en compte ~/.minemacs.d/modules.el ).MINEMACS_BENCHMARK : exécutez une benchmark à l'initialisation des EMAC (en utilisant benchmark-init.el ) et affichez les résultats après le démarrage (y compris les packages paresseux).MINEMACS_NO_PROXIES : Définissez si vous avez la configuration minemacs-proxies dans votre early-config.el Pour plus d'informations sur les variables de personnalisation, les fonctions et les commandes définies par Minemacs, vous pouvez vous référer à la documentation générée à partir du code source.
Si vous avez rencontré un problème avec Minemacs, vous pouvez jeter un œil à la FAQ, consulter les discussions, vérifier les problèmes ouvrir ou en ouvrir un nouveau.