{ pkgs, lib, ... }: { config.programs.vscode.profiles.default.userSettings = { "cSpell.userWords" = [ "leyla" ]; "cSpell.languageSettings" = [ { "languageId" = "nix"; "locale" = "*"; "dictionaries" = [ "applications" "ai-words" "nix-words" # We need to include all other dictionaries in the nix language settings because they exist in this file # TODO: see if there is a way to make this only apply for this file "js-words" ]; } { "languageId" = "javascript,typescript,js,ts"; "locale" = "*"; "dictionaries" = [ "js-words" ]; } ]; "cSpell.customDictionaries" = { applications = { name = "applications"; description = "application names"; path = pkgs.writeText "applications.txt" (lib.strings.concatLines [ "ollama" "syncthing" "immich" "sonos" "makemkv" "hass" "qbittorent" "prostudiomasters" "protonmail" "pulseaudio" ]); }; ai-words = { name = "ai-words"; description = "common words used for ai development"; path = pkgs.writeText "ai-words.txt" (lib.strings.concatLines [ "ollama" "deepseek" "qwen" ]); }; nix-words = { name = "nix-words"; description = "words used in nix configurations"; path = pkgs.writeText "nix-words.txt" (lib.strings.concatLines [ "pname" "direnv" "tmpfiles" "Networkd" "networkmanager" "dialout" "adbusers" "authkey" "netdevs" "atomix" "geary" "gedit" "hitori" "iagno" "alsa" "timezoned" "pipewire" "rtkit" "disko" "ashift" "autotrim" "canmount" "mountpoint" "xattr" "acltype" "relatime" "keyformat" "keylocation" "vdevs" # codium extensions "akamud" "onedark" "jeanp" "dsznajder" "dbaeumer" "orta" "tauri" "unifiedjs" "tamasfe" "pinage" "jnoortheen" "kamadorueda" "karyfoundation" "nearley" # nix.optimise is spelled wrong "optimise" ]); }; js-words = { name = "js-words"; description = "words used in js development"; path = pkgs.writeText "js-words.txt" (lib.strings.concatLines [ "webdav" ]); }; }; }; }