🔧 My Nix system configurations.
home-manager | ||
LICENSES | ||
nix-darwin | ||
nixos | ||
options | ||
screenshots | ||
sops | ||
stylix | ||
.envrc | ||
.gitignore | ||
.sops.yaml | ||
flake.lock | ||
flake.lock.license | ||
flake.nix | ||
README.md |
🔧 Nix system configurations
This repository has the Nix home-manager configurations for my laptop and other
systems, 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. 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. - 📑 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.
- 📈 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.