nixos-config/README.md

35 lines
2 KiB
Markdown

# Nimmo's NixOS Configurations
## The Philosophy
The goal of this repository is to maintain a unified, reproducible computing environment across multiple high-performance machines. By leveraging **NixOS Flakes**, I ensure that my workflow—from development tools to desktop aesthetics—remains consistent whether I'm on my primary workstation or a mobile 2-in-1.
### Core Intentions
1. **Reproducibility**: Use Flakes and specific Git pins to ensure that "it works on my machine" means it works on *every* machine.
2. **Shared Experience**: The `common/` directory defines a single source of truth for my user account, Plasma 6 desktop environment, and application suite.
3. **Hardware Optimization**: While the experience is unified, the configuration is not generic. Each host contains specific tuning for its hardware (e.g., Framework 16 specialisations vs. Lenovo 2-in-1 sensor support).
4. **Security & Accessibility**: Integrating hardware-level security (Fingerprint) with daily convenience (SDDM Numlock, Plasma 6 Wayland) for a "premium" Linux experience.
---
## The Fleet
| Host | Status | Intent |
| :--- | :--- | :--- |
| **[Electra](hosts/electra/README.md)** | Active | **Powerhouse.** Used for gaming, LLM development, and high-performance tasks. Features deep NVIDIA integration and Strix Point optimizations. |
| **[Lena](hosts/lena/README.md)** | Deploying | **Versatility.** A convertible 2-in-1 for travel and tablet use. Optimized for battery life and touch interaction. |
---
## Documentation Index
- **[Installation Guide](INSTALL.md)**: The "How-To" for setting up a new machine or re-installing a host.
- **[Host Documentation](hosts/)**: Specific quirks, BIOS settings, and hardware identifiers for each machine.
- **`common/`**: The heart of the config. If you want to add an app or change a setting globally, look here.
---
## Key Technologies
* **Desktop**: KDE Plasma 6 (Wayland)
* **Filesystem**: Btrfs with ZSTD compression
* **Virtualization**: Rootless Docker
* **Shell/Tools**: Standardized CLI utilities across all nodes.