1
0
Fork 0
nix-system-configurations/README.md
2025-08-09 20:22:04 -05:00

43 lines
2 KiB
Markdown

<!--
SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
SPDX-License-Identifier: MIT
-->
# 🔧 Nix system configurations
![Devshell](screenshots/devshell.png)
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.