30 lines
1.6 KiB
Markdown
30 lines
1.6 KiB
Markdown
# 💻 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.
|