# 💻 Laptop configuration This repository has the Nix home-manager configuration for my laptop, simplifying configuration management and enabling reproducibility on other machines. It operates on a foreign Linux distribution (Fedora Asahi Remix) with plans to switch to NixOS when time allows and to make components reusable for other systems. `direnv` automatically loads the environment for running commands for this Flake. ## ⭐ Features - 🏠 **`home-manager`**: Defines the user environment. - 🧩 **`flake-parts`**: Makes the Flake modular and reusable. - 🔐 **`sops`**: Encrypts secrets. - ✨ **`treefmt`** (with Helix integration): Automatically formats this repository when modifying it, with features to check the flake for formatting consistency. - ⌨️ **Nushell**: Shell that uses structured data, with quality-of-life integrations enabled. - 💬 **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. - 🤖 **AI**: Uses Nix home-manager integrations for Codex and `aichat` for querying Large Language Models (LLMs) in the CLI and in Git repositories. - 🎨 **Theming**: Uses Stylix for consistent theming across applications. - 📝 **Language tools**: Checks for grammatical and styling issues using Vale, Harper, LTeX, 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.