From 82d92d7c8faefc0b62fb539647b19dabe4d705e3 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 6 Apr 2026 06:53:19 +0000 Subject: [PATCH] Add CLAUDE.md with project context and nix eval guidance https://claude.ai/code/session_01PwAXuaoJx7qD5FhVLsn7Sn --- CLAUDE.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..706dc1c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,30 @@ +# FredOS NixOS Configuration + +This is a NixOS flake-based configuration for multiple hosts: +- **FredOS-Gaming** — gaming desktop +- **FredOS-Mediaserver** — home media server +- **FredOS-Macbook** — MacBook laptop + +## Structure + +- `flake.nix` — flake inputs/outputs; all hosts use `nixpkgs` unstable +- `common.nix` — shared configuration across all hosts +- `hosts/` — per-host NixOS configuration modules +- `hosts/hardware/` — hardware-specific configuration +- `home-manager/` — Home Manager configuration (via NixOS module) +- `services/` — modular service definitions imported by hosts +- `settings/` — shared settings/variables + +## Code Evaluation + +Always validate Nix expressions with `nix eval` before committing. For example: + +```bash +# Evaluate a specific attribute to check for syntax/type errors +nix eval .#nixosConfigurations.FredOS-Gaming.config.system.stateVersion + +# Evaluate the full flake outputs to catch top-level errors +nix eval .#nixosConfigurations --apply builtins.attrNames +``` + +Use `nix flake check` for a broader check of the flake.