💻 Configuration for Nix home-manager on my laptop
.vale/styles | ||
home | ||
languages | ||
.envrc | ||
.gitignore | ||
.sops.yaml | ||
flake.lock | ||
flake.nix | ||
README.md |
💻 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.