💻 Configuration for Nix home-manager on my laptop
base | ||
home-manager | ||
sops | ||
.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, enabling clean separation of components. - 🔐 SOPS: Encrypts secrets.
- ✨
treefmt
(with Helix integration): Automatically formats the code in this repository when modifying it, with features to check the flake for formatting consistency. - ⌨️ Devshell: Clean shell management, printing project-specific commands on launch with icons using Nerd Fonts.
- 📈 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 Catppuccin and Stylix for consistent theming across applications.
- 📝 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.