❄️ Module that loads programs and settings for languages, editors, and the repository for use in my projects.
| base | ||
| editors | ||
| languages | ||
| .envrc | ||
| .gitignore | ||
| .sops.yaml | ||
| flake-module.nix | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
| result | ||
❄️ Nix Flake base
Module that defines settings for languages, editors, and the repository for use in my projects. Each project can selectively enable individual languages and editors as needed.
⭐ Features
- 🧩
flake-parts: Makes the Flake modular and reusable, enabling clean separation of components. - ✨
treefmt(with Helix integration): Automatically formats the code in this repository when modifying it, with features to check the Flake for formatting consistency. - 📑 Jujutsu: Modern version control system with an improved UX for commits and merges.
- ⌨️ Devshell: Clean shell management, printing project-specific commands on launch with icons using Nerd Fonts.
- 💬 Language Server Protocol (LSP): Has language servers for file formats used in this repository; integrates with Helix text editor and fully managed by Nix with each language's configuration in its own file.
- 📝 Language tools: Checks for grammatical and styling issues using Vale, Harper, LTeX (LanguageTool), and Typos, centralizing the custom dictionary for these tools in the Nix configuration.
- ⚙️ Git pre-commit hooks: Lints the files before making a commit, both with programming and natural languages.