J’étais pas non plus ancré total comme toi.: J’ai été uilisateur Debian, puis Ubuntu, puis Debian+Ubuntu pendant moins longtemps… en gros 10/15 ans, mais graduellement parce que j’étais 100% windows de 1995 à 2005 en gros, debian ubuntu de 2003 à 2017, full linux depuis 2010 en config personnel, donc
Je suppose que tu étais sur le forum debian-fr ? J’aimais bien ce site. Attention je te raconte un peu ma life dans le thread 
Pour passer à Nixos, j’ai eu une période d’adaptation, que je pense on peut raccourcir. Mais j’avais juste installé nix (pas nixos) comme package manager supplémentaire sur mes Ubuntu/Debian
cf:
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --daemon
Ca permet de s’habituer à la syntax du language nix, et defaire des dérivations locales. En gros se mouiller sans se mouiller trop fort non plus: tout le reste de la config reste comme d’hab
On peut faire vraiment pas mal de truc. Tu peux commencer à importer tes propres fichiers nix, avec tes propres fonctions… et complexifier au fur et à mesure en restant à ton niveau de compréhension
Je dis cela, parce que dans mon cas, j’aurais VRAIMENT pas pu faire tout ce que je veux du premier coup avec NixOS. A commencer par fluxbox peut etre, je sais plus. Y’a un vrai temps d’adaptation. Comprendre comment et à quel point tout est declaratif… les implications que ça change etc… genre si tu édites en barbare un fichier system à la mano, oublie tout de suite: ta modif sera plus tard réécrasée sans scrupules par une generation NixOS.
Je te donne que mon point de vue: j’ai pris l’optique de partir d’un NixOs barebone, et d’y ajouter que ce que je savais faire. Du coup ça prend du temps.
Si tu te bases que sur les config des autres pour faire des trucs chiadés, bah tu vas avoir du code qui va te sembler complexe, ne pas le maitriser, et donc ne pas être capable de l’adapter soit quand t’as un problème ou pour l’adapter à ton vrai use-case: en tout cas ça se serait passé comme cela pour moi je pense - c’est mon cas personnel
Le benefice: t’as pas idée de la dinguerie de la puissance de ce que tu peux configurer une fois que tu es dans le bain… ni du comfort et du sentiment de surêté/sécurité quand à la stabilité de ton installation… C’est vraiment… indicible… vraiment!
J’aurais tendance à penser qu’il faut accepter de pas pouvoir tout avoir tout ce que tu veux du premier coup… et dans les mois qui viennent au fur et à mesure: améliorer ta config dans la mesure de ce que tu comprends et apprends
C’est “ma” technique :-)… maintenant si tu le sens: plonge!
Pour Oh-My-Zsh, tu peux le faire avec home-manager, qui te permet de générer ce que tu désire dans tes dotfiles et dotconfig à la manière de NixOS. Par défaut c’est pas du tout le cas: Ton home est totalement ton home → zero NixOS.
C’est tout récent que j’ai mis mon vim et mon neovim dans home-manager… Je regrette d’avoir mis si longtemps… c’est pas si compliqué finalement. Mais j’aurais peut etre eu du mal à séparer les deux dans mon esprit NixOS et home-manager, si j’avais utilisé les deux dès le debut.
Je regarde vite pour emacs, dans home-manager y’a cela:
programs.emacs.package
The emacs package to use.
Type: package
Default: pkgs.emacs
Example: pkgs.emacs25-nox
Declared by:
<home-manager/modules/programs/emacs.nix>
programs.emacs.extraConfig
Configuration to include in the Emacs default init file. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Init-File.html[1] for more.
Note, the ‘inhibit-startup-message’ Emacs option cannot be set here since Emacs disallows setting it from the default initialization file.
Type: strings concatenated with “\n”
Default: ""
Example:
''
(setq standard-indent 2)
''
Declared by:
<home-manager/modules/programs/emacs.nix>
1. https://www.gnu.org/software/emacs/manual/html_node/elisp/Init-File.html
programs.emacs.extraPackages
Extra packages available to Emacs. To get a list of available packages run: nix-env -f '<nixpkgs>' -qaP -A emacsPackages.
Type: Function that takes an attribute set and returns a list containing a selection of the values of the input set
Default: "epkgs: []"
Example: epkgs: [ epkgs.emms epkgs.magit ]
Declared by:
<home-manager/modules/programs/emacs.nix>
Donc tu devrais pouvoir configurer pas mal emacs… mais j’ai stoppé monapprentissage d’emacs y’a quelquemois, du coup… je peux pas garantir que si tu mets le package nixpkgs doomemacs dans extrapackage, que bah ça va marcher… je sais pas: faudrait que tu confirme avec quelqu’un qui l’utilise ainsi: home-manager + emacs + org / doomemacs
Peut etre en posant la question aux anglophones t’aura plus de réponses d’utilisateurs quotidiens