⚠️ WORK IN PROGRESS / TRAVAIL EN COURS🇬🇧 This project is currently a work in progress and only functions under specific conditions:
- âś… Tested on Linux with Wayland (COSMIC DE)
- âś… Works with PulseAudio/PipeWire audio systems
⚠️ May require audio system configuration⚠️ Microphone permissions needed- 🇫🇷 Currently optimized for French language only
🇫🇷 Ce projet est actuellement en cours de développement et ne fonctionne que dans certaines conditions :
- ✅ Testé sur Linux avec Wayland (COSMIC DE)
- ✅ Fonctionne avec les systèmes audio PulseAudio/PipeWire
⚠️ Peut nécessiter une configuration du système audio⚠️ Permissions microphone requises- 🇫🇷 Actuellement optimisé pour le français uniquement
Ce flake Nix fournit un package et des modules NixOS/Home Manager pour nerd-dictation, un outil de dictée vocale hors ligne.
VOSK et le modèle français sont maintenant inclus automatiquement dans le package !
- âś… VOSK 0.3.45 inclus
- ✅ Modèle français
vosk-model-small-fr-0.22inclus - 🎯 Détection automatique Wayland/X11 pour l'injection de texte
- 🇫🇷 Configuration française automatique avec ponctuation
- 🚀 Prêt à l'emploi sans configuration
nix run github:votre-utilisateur/nix-nerd-dictation{
inputs.nerd-dictation.url = "github:votre-utilisateur/nix-nerd-dictation";
imports = [ inputs.nerd-dictation.nixosModules.default ];
services.nerd-dictation = {
enable = true;
modelPath = "/path/to/vosk-model";
audioBackend = "parec"; # ou "sox", "pw-cat"
inputBackend = "xdotool"; # ou "ydotool", "dotool", "wtype"
configScript = ''
def text_replace_function(text):
text = text.replace("new line", "\n")
text = text.replace("tab", "\t")
return text
'';
};
}{
imports = [ inputs.nerd-dictation.homeManagerModules.default ];
programs.nerd-dictation = {
enable = true;
modelPath = "/home/user/.local/share/vosk-model";
keyBindings = {
"super+d" = "nerd-dictation begin";
"super+shift+d" = "nerd-dictation end";
"super+ctrl+d" = "nerd-dictation suspend";
};
enableSystemdService = true;
};
}modelPath: Chemin vers le modèle VOSKaudioBackend: Backend audio (parec,sox,pw-cat)inputBackend: Backend d'entrée (xdotool,ydotool,dotool,wtype)configScript: Script Python de configuration personnalisétimeout: Timeout en millisecondes pour la reconnaissance vocaleidleTime: Temps d'inactivité avant l'arrêt de l'enregistrementconvertNumbers: Convertir les mots nombres en chiffres
Le package détecte automatiquement votre environnement graphique :
- Wayland (COSMIC, GNOME, Sway, etc.) → utilise
wtype - X11 (i3, XFCE, etc.) → utilise
xdotool
Au premier lancement, une configuration française est automatiquement créée dans ~/.config/nerd-dictation/nerd-dictation.py qui inclut :
- Ponctuation : "virgule" →
,, "point d'interrogation" →?, etc. - Symboles : "arobase" →
@, "pourcentage" →%, "plus" →+, etc. - Navigation : "nouvelle ligne" → retour à la ligne, "tabulation" → tab
- "Bonjour virgule comment allez-vous point d'interrogation" → "Bonjour, comment allez-vous ?"
- "Mon email arobase exemple point com" → "Mon email @exemple.com"
- "Quarante-deux pour cent" → "42%"
Le module Home Manager peut configurer automatiquement les raccourcis clavier pour i3 et sway :
programs.nerd-dictation.keyBindings = {
"ctrl+alt+d" = "nerd-dictation begin";
"ctrl+alt+shift+d" = "nerd-dictation end";
};Le module NixOS crée un service système, tandis que le module Home Manager peut créer un service utilisateur optionnel.
Le module Home Manager ajoute automatiquement des alias pratiques :
nd-begin: Démarrer la dictéend-end: Arrêter la dictéend-suspend: Suspendre/reprendre la dictée