nixos-config/README.md

2 KiB

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 Active Powerhouse. Used for gaming, LLM development, and high-performance tasks. Features deep NVIDIA integration and Strix Point optimizations.
Lena Deploying Versatility. A convertible 2-in-1 for travel and tablet use. Optimized for battery life and touch interaction.

Documentation Index

  • Installation Guide: The "How-To" for setting up a new machine or re-installing a host.
  • Host Documentation: 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.